在Python中自动命名输出txt文件

时间:2013-10-28 15:10:03

标签: python-3.x output rename

我有4个名为I_list,Itiso,ItHDKR和Itperez的列表,我想收到带有这些列表数据的.txt输出文件。我试图让Python根据我的一些输入数据自动重命名.txt输出文件的名称。这样,.txt输出文件将始终具有不同的名称。

现在我正在编写以下命令:

Horizontal_radiation = []
Isotropic_radiation = []
HDKR_radiation = []
Perez_radiation = []

Horizontal = open("outputHorizontal.txt", 'w')
Isotropic = open("outputIsotropic.txt", 'w')
HDKR = open("outputHDKR.txt", 'w')
Perez = open("outputPerez.txt", 'w')

for i in I_list:
      Horizontal_radiation.append(i)
for x in Itiso:
      Isotropic_radiation.append(x)
for y in ItHDKR:
      HDKR_radiation.append(y)
for z in Itperez:
      Perez_radiation.append(z)        

Horizontal.write(str(Horizontal_radiation))
Isotropic.write(str(Isotropic_radiation))
HDKR.write(str(HDKR_radiation))
Perez.write(str(Perez_radiation))

Horizontal.close()
Isotropic.close()
HDKR.close()
Perez.close()

如您所见,.txt输出文件的名称固定为“outputHorizo​​ntal.txt”(第一个)。有没有办法更改此名称并根据输入进行设置?例如,我的一个输入是纬度,如'lat'。我试图使输出文件名以'lat'表示,这样每次运行程序时名称都会不同,因为现在我总是得到相同的名称并且文件被覆盖。

非常感谢大家,亲切的问候。

1 个答案:

答案 0 :(得分:0)

您可以将字符串变量作为输出文件名传递。例如,您可以在向列表添加元素之后(以及在编写它们之前)移动文件声明并使用

Horizontal = open(str(Horizontal_radiation[0]), 'w')

或者只是为文件名添加一个时间戳,如果它只是不覆盖文件

Horizontal = open("horizontal-%s".format(datetime.today()), 'w')