0

I_list、Itiso、ItHDKR、Itperez という 4 つのリストがあり、これらのリストのデータを含む .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" (最初のファイル) に固定されています。この名前を変更して、入力に従って配置する方法はありますか? たとえば、私の入力の 1 つは緯度 (「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 に答える