1

ネットワークの名前を入力として受け取り、変数と同じ名前を使用してファイルを保存したいと思います。変数を取得してからファイルに変数名を付ける方法はありますか?

たとえば、Facebookというネットワークを辞書として保存しているとします。どういうわけかその変数名を取得してファイル名として使用できますか?

これはすべてPythonです。

ありがとうございました!

4

6 に答える 6

9

次のような値を宣言できます。

# Let's create a file and write it to disk.
filename = "facebook.txt"

# Create a file object:
# in "write" mode
FILE = open(filename,"w")

# Write all the lines at once:
FILE.writelines("Some content goes here")

# Close
FILE.close()
于 2012-07-26T19:18:45.873 に答える
4

あなたが持っている場合

data=['abc','bcd']

できるよ

file = open('{0}.txt'.format(data[0]),"w")

abc.txtとしてファイルを作成します

ファイルにテキストを書き込む

file.writelines('xyz')

file.close()
于 2012-07-26T19:18:19.387 に答える
1

私はあなたを理解していません。あなたの質問はあまり明確ではありません。とにかく、2つの解決策を投稿します

ファイル名を変数の名前として命名したい場合

このコードを使用することをお勧めします

for i in locals():
  if 'variable name' is i:IObject = open(i+".txt",'w')#i've added .txt extension in case you want it text file 
IObject.write("Hello i'm file name.named with the same name of variable")

もしくはそうでないか

name_of_file = raw_input("Enter the name")
IOjbect = open(name_of_file+".txt","w")
IObject.write("Hey There")
于 2012-07-26T19:46:49.313 に答える
0

それでいいの?

n_facebook = {'christian': [22, 34]}
n_myspace = {'christian': [22, 34, 33]}

for network in globals():
    if network.startswith('n_'):
        # here we got a network
        # we save it in a file ending with _network.txt without n_ in beginning
        file(network[2:] + '_network.txt', 'w').write(str(globals()[network]))

このファイルは、n_facebook を facebook_network.txt に保存します。マイスペースも。

于 2012-07-26T20:11:11.837 に答える
0

私はこのアプローチを試みていますが、非常に奇妙な問題が発生しています。私のアイテムは、プログラムが実行されているファイルに保存されています。したがって、ファイルを 1 回実行しても何も起こりません。2 回目は、実行からの情報が保存されます。

f = open("results_{0}.txt".format(counter), 'w')
f.write("Agent A vs. Champion\n"
      + "Champion wins = "
      + str(winsA1)
      + " Agent A wins = "
      + str(winsB1))
f.write("\n\nAgent B vs. Champion\n"
      + "Champion wins = "
      + str(winsA2)
      + " Agent B wins = "
      + str(winsB2))
f.write("\n\nRandom vs. Champion\n"
      + "Champion wins = "
      + str(winsA3)
      + " Random wins = "
      + str(winsB3))
f.close()
于 2014-11-15T01:34:58.313 に答える
0

これは、ファイル名をユーザーが入力したものにする簡単な方法です。

#Here the user inputs what the file name will be.
name_of_file = input("Enter what you want the name of the file to be.")

#Then the file is created using the user input.
newfile = open(name_of_file + ".txt","w")

#Then information is written to the file.
newfile.write("It worked!")

#Then the file is closed.
newfile.close()
于 2018-08-08T13:43:25.307 に答える