0

音楽プレイリストからいくつかのファイルをコピーするプログラムを実行しています。次のようにコマンドを実行します。

command =   'cp "%s" "%s"' % (songPath,plPath)
os.system(command)

問題は、それを実行すると、曲のパスに'文字がある場合、コマンドを実行できないことです。それは言います:

cp: `/home/myname/Music/Oasis/(What\'s The Story) Morning Glory/03 Wonderwall.mp3': No such file or directory

songPath を確認したところ、 「 プログラムがその \ 文字を追加するのを避ける方法を知っている人はいますか? 」の前に \ 文字がありません。

前もって感謝します!

4

1 に答える 1

6

subprocess.call代わりに使用してください:

ret_val = subprocess.call(['cp',songPath,plPath])

これによりシェルが回避されるため、引数は指定cpしたとおりの形式で渡される必要があります。

于 2013-05-02T15:52:32.290 に答える