0

sys.argv によって取得される引数として mylist を渡します。これを行います。

mylist = str(list)
nbre = str(nbre)
comm = 'python2.6 file.py ' + mylist + ' ' + nbre + ' &'
os.system(comm)

では、この方法でfile.py取得することが期待されており、これには次のものが含まれますが、実行する場合:mylist[machine1,machine2]

mylist = sys.argv[1]

[machine1これは間違っています。表示すると、次のsys.argvことがわかりました。

['file.py','[machine1,','machine2]','1']

なぜ私のリストがそのように構成されているのか理解できませんでしたか?

4

1 に答える 1

4

これは、ある python スクリプトから別の python スクリプトにリストを伝達するためのひどい方法であることは別として、リストがシェルによって分割されないようにするには、リストを引用符で囲む必要があります。

comm = 'python2.6 file.py "%s" "%s" &' % (mylist, nbre)

文字列の書式設定を使用して、引用符をmylistとで囲みましたnbre

シェルが邪魔にならないように、subprocessモジュールを調べて他のプロセスを呼び出す必要があります。

于 2012-10-19T08:51:43.183 に答える