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

问题描述 投票:0回答:1

[嗨,我希望我的程序在每次运行程序时都更改文件名。而且我也希望将文件保存在单独的文件夹中。可能的唯一名称可以是向名称添加数字的计数器(例如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的新手,所以我能获得的任何经验对我都有帮助。

python python-3.5
1个回答
0
投票

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

可能的用法是:

dir

在Mac上输出:

import tempfile                                                                 

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

请注意,我已将/Users/user/Documents/myfilename_8oivjhql.txt 设置为delete,以确保您的程序关闭文件时不会将其删除。

© www.soinside.com 2019 - 2024. All rights reserved.