每次运行程序时自动更改文件名

时间:2019-08-19 09:15:20

标签: python python-3.5

嗨,我希望我的程序在每次运行程序时都更改文件名。 我也希望将文件保存在单独的文件夹中。 可能的唯一名称可以是向名称添加数字的计数器(例如xml_1,xml_2,xml_3等),也可以是创建文件的日期。

这是我到目前为止所拥有的

with open("new_xml_1.xml","w+") as f:
   for index, row in df.iterrows():
      xml_1 = (csv_to_xml(row))
      print(xml_1)
      f.write(xml_1)

我在想这样的事情

now = datetime.datetime.now()
currentDate = str(now.month) + "_" + str(now.day) + "_" + str(now.year)

file_output = os.path.join(r"C:\bla\bla\path\to\folder\filename_" + currentDate)

也许有一个更简单的解决方案,但我找不到。

感谢您的帮助,因为我是python的新手,所以我能获得的任何经验对我都有帮助。

1 个答案:

答案 0 :(得分:0)

要在每次运行程序时创建唯一的文件名,可以使用内置tempfile模块的NamedTemporaryFile类。构造函数具有几个可选参数,包括prefixsuffixdir,这些参数使您可以生成需要访问此文件的人可以识别的文件名。

可能的用法是:

import tempfile                                                                 

f = tempfile.NamedTemporaryFile(prefix="myfilename_", suffix=".txt", dir=".", delete=False)                  
print(f.name)

在Mac上的输出:

/Users/user/Documents/myfilename_8oivjhql.txt

请注意,我已将delete设置为False,以确保您的程序关闭文件时不会将其删除。