2012-05-04 5 views
1

Ubuntuでは、私はsubprocess.Popenを使用して実行ファイルを呼び出します。これにより、いくつかの出力ファイルがサーバーのハードドライブに保存されます。コードはローカルマシン上で正常にテストされています。ただし、サーバー上では動作しません。私のコードは以下にリストされています:Pythonのサブプロセスです。フォルダの変更を許可しますか?

#create a new folder. The permission is drwxrwx both locally and on the server end 
os.makedirs(folder) 

#copy the executable file to this folder. The permission is drwxrwx both locally and on the server end after copy 
shutil.copy("a.exe", folder) 

#call this exe file. The permission is drwxrwx locally but changed to drwxr-x on the server end. Since I do not have the write permit, my code fails. 
subprocess.Popen("a.exe") 

私はなぜサブプロセスがサーバー側で私のフォルダの許可を変更するのか分かりません。だから誰も私にいくつかの提案を与えることができますか?

ありがとうございます!

+0

あなたは正しい、あなたの実際のコードでshutil.copy' 'でa.exe''前後に引用符を持っているのですか? – Nadh

+0

はい。ステートメントは正しいです。 –

答えて

0

試してみてください。

subprocess.Popen("a.exe", shell=True) 
+0

私はshell = Trueを試しました。同じ問題ですが、どちらのアプローチもローカルマシン上で動作します。ありがとう –

関連する問題