【发布时间】:2020-10-05 12:03:13
【问题描述】:
我正在编写代码,每次运行时都会生成一个带有今天日期的新文本文件。例如,今天的文件名是 2020-10-05。我想增加它,这样如果程序在同一天运行一次或多次,它就会变成 2020-10-05_1、_2 等。
我有从另一个问题中找到的这段代码,我已经尝试修改它,但我仍然卡住了。问题在于他们将文件名转换为 int 1,2,3,这样它就可以工作,但这不是我想要的结果。
def incrementfile():
todayday = datetime.datetime.today().date()
output_folder = "//10.2.30.61/c$/Qlikview_Tropal/Raport/"
highest_num = 0
for f in os.listdir(output_folder):
if os.path.isfile(os.path.join(output_folder, f)):
file_name = os.path.splitext(f)[0]
try:
file_num = int(file_name)
if file_num > highest_num:
highest_num = file_num
except ValueError:
print("The file name %s is not an integer. Skipping" % file_name)
output_file = os.path.join(output_folder, str(highest_num + 1) + f"{todayday}" + ".txt")
return output_file
如何修改此代码,以便最终得到的输出类似于 2020-10-05_0、_1、_2 等。
谢谢!
【问题讨论】:
-
您需要通过某种方式将上次运行时间存储在内存中,可能是通过酸洗上次运行时间,然后在运行该方法的任何位置检查泡菜文件。