サブプロセス ライブラリと Popen メソッドを使用して、ある場所から別の場所にファイルをコピーしようとしています。次のスクリプトを実行すると、エラーが発生しますcp: cannot stat /some/dev_path/*
。*
はファイル名に展開されておらず、そこに問題があると言われました。また、他のいくつかの投稿では、人々は Popen の代わりに call を使用することを提案していましたが、call は私の知る限り stderr を返しません。
devPath = '/some/dev_path/'
productionPath = '/some/prod_path/'
p = subprocess.Popen(['cp', '-r', devPath + '*', productionPath], stdout = subprocess.PIPE, stderr = subprocess.PIPE)
pout, perr = p.communicate()
if perr != '':
sys.exit('Error: ' + perr)