-1

重複の可能性:
Pythonは関数内の引数の変数名を取得します

ファイルlist.txtを作成する次のコードがあります。現在、ファイル名を「list.txt」としてハードコードしています。関数に渡された引数名に基づいて動的にファイル名を作成する方法はありますか..listこの例では、引数として を渡しているので、ファイル名は list.txt にする必要があります。パラメーターが list2.txt の場合、ファイル名は list2.txt にする必要があります .....

def filecreation(list):
    #print "list"
    with open('list.txt', 'w') as d:
        d.writelines(list)

def main():
    list=['206061\n', '202086\n', '206062\n']
    filecreation(list)

if __name__ == '__main__':
    main()
4

2 に答える 2

7

次のようなことができますか?

def filecreation(alist, filename):
    #print "alist"
    with open(filename, 'w') as d:
        d.writelines(alist)

これにより、filecreation(list, "testfile.txt") のようなものを呼び出すことができ、リストが testfile.txt に出力されます。誤解がある場合はお知らせください。修正を試みます。

于 2012-12-31T19:11:23.353 に答える
3

関数は、引数として渡された変数が呼び出されたものを知ることができません。それはPythonの仕組みではありません。変数が含まれていない場合もあります。

filecreation(['206061\n', '202086\n', '206062\n']) # What is the argument "name"?

あなたが望むものに最も近いのは、コメントに投稿された Ignacio Vazquez-Abramsのリンクされた質問です。

于 2012-12-31T19:18:58.947 に答える