我有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输出文件的名称固定为“outputHorizontal.txt”(第一个)。有没有办法更改此名称并根据输入进行设置?例如,我的一个输入是纬度,如'lat'。我试图使输出文件名以'lat'表示,这样每次运行程序时名称都会不同,因为现在我总是得到相同的名称并且文件被覆盖。
非常感谢大家,亲切的问候。
答案 0 :(得分:0)
您可以将字符串变量作为输出文件名传递。例如,您可以在向列表添加元素之后(以及在编写它们之前)移动文件声明并使用
Horizontal = open(str(Horizontal_radiation[0]), 'w')
或者只是为文件名添加一个时间戳,如果它只是不覆盖文件
Horizontal = open("horizontal-%s".format(datetime.today()), 'w')