Suppose you have a program that should be run every day. It performs some important computational task or records some data and writes a log file.
With the current date, we can generate a unique file name each day. And later, these files can be sorted and accessed by the date. This is convenient.
Here is an example program. We introduce the get_filename_datetime
method. We import the datetime
module. In the method, we concatenate a file name based on date.today
.
date.today()
result into a string
with str
.from datetime import date def get_filename_datetime(): # Use current date to get a text file name. return "file-" + str(date.today()) + ".txt" # Get full path for writing. name = get_filename_datetime() print("NAME", name) path = "C:\\programs\\" + name print("PATH", path); with open(path, "w") as f: # Write data to file. f.write("HELLO\n") f.write("WORLD\n")NAME file-2017-05-17.txt PATH C:\programs\file-2017-05-17.txtHELLO WORLD
The get_filename_datetime
method returns the file name only. So we must concatenate the path to the file (in the logging directory) before using it in open()
.
string
literal can be used.A random file name can be used, but this is confusing to access later. With a date in the file name, a human can easily access the desired logging data.