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.