2

Python 2.7.2 では、Linux でファイルのコピーを作成する必要があります。

newfile = "namePart1" + 辞書[キー] + "namePart2"

os.system("cp cfn5e10_1.lp newfile")

ただし、newfile を正しい文字列に置き換えることはできません。

フォーラムの投稿は役に立ちません。

どんな助けでも本当に感謝しています。

4

3 に答える 3

12

shutil.copyfileの代わりにファイルをコピーするために使用しos.sytemます。新しいプロセスを作成する必要はなく、スペースなどの特殊な文字を含むファイル名を自動的に処理しますos.system。コマンドをシェルに渡すだけで、シェルはファイル名を分割する可能性があります他の考えられる問題の中でも特に、それらにスペースが含まれています。

例えば:

newfile = "namePart1" + dictionary[key] + "namePart2"
shutil.copyfile("cfn5e10_1.lp", newfile)
于 2012-07-20T17:57:09.007 に答える
4

newfileこれは変数に置き換えられません。

os.system("cp cfn5e10_1.lp newfile")

次のように変数を文字列の最後に連結する必要があります。

os.system("cp cfn5e10_1.lp " + newfile)
于 2012-07-20T17:57:40.587 に答える
1

cpPythonから呼び出す場合は、次のsubprocessモジュールを使用します。

subprocess.call(["cp", "cfn5e10_1.lp", "newfile"])

ただし、shutil代わりにモジュールの関数を使用することをお勧めします。

于 2012-07-20T22:52:05.767 に答える