0

我有 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”表示,这样每次我运行程序时名称都会不同,因为现在我总是得到相同的名称并且文件被覆盖。

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

4

1 回答 1

0

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

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

或者,如果只是为了不覆盖文件,只需在文件名中添加时间戳

Horizontal = open("horizontal-%s".format(datetime.today()), 'w') 
于 2013-10-28T15:38:18.857 回答