3

perl スクリプトをメインの python スクリプトに統合する際に助けが必要です。

私は名前でperlスクリプトを持っています:GetHostByVmname.pl

./GetHostByVmname.pl –server 10.0.1.191 –username Administrator –password P@ssword1 –vmname RHTest

Pythonメインスクリプトから上記のスクリプトを呼び出す必要があります。以下で試しましたが、うまくいきません:

param = "--server 10.0.1.191 --username Administrator --password P@ssword1 --vmname RHTest"


pipe = subprocess.Popen(["perl", "./GetHostByVmname.pl", param ], stdout=subprocess.PIPE)
4

2 に答える 2

5

シェルコマンドを提供することができます

Popen("./GetHostByVmname.pl –server 10.0.1.191 ...", ...)

または、最初の要素がプログラムで残りが引数である配列。

Popen(["./GetHostByVmname.pl", "–server", "10.0.1.191", ... ], ...)

現在、次のシェル コマンドと同等の操作を行っています。

perl ./GetHostByVmname.pl '–server 10.0.1.191 ...'
于 2013-04-23T05:36:00.967 に答える
2

紐を割ると良くなると思います

./GetHostByVmname.pl –server 10.0.1.191 –username Administrator –password P@ssword1 –vmname RHTest

リストに追加し、このリストを最初のパラメーターとして Popen を呼び出した後。例:

import shlex, subprocess
args_str = "./GetHostByVmname.pl –server 10.0.1.191 –username Administrator –password P@ssword1 –vmname RHTest"
args = shlex.split(args_str)
p = subprocess.Popen(args, stdout=subprocess.PIPE)
于 2013-04-23T05:41:56.153 に答える