回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有以下代码:</p>
<pre><code>opts.info("Started domain %s (id=%d)" % (dom, domid))
</code></pre>
<p>我想用上面的参数<code>domid</code>执行一个shell脚本。
大概是这样的:</p>
<pre><code>subprocess.call(['test.sh %d', domid])
</code></pre>
<p>它是如何工作的</p>
<p>我试过:</p>
<pre><code>subprocess.call(['test.sh', domid])
</code></pre>
<p>但我得到了这个错误:</p>
<pre><code>File "/usr/lib/xen-4.1/bin/xm", line 8, in <module>
main.main(sys.argv)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 3983, in main
_, rc = _run_cmd(cmd, cmd_name, args)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 4007, in _run_cmd
return True, cmd(args)
File "<string>", line 1, in <lambda>
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/main.py", line 1519, in xm_importcommand
cmd.main([command] + args)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/create.py", line 1562, in main
dom = make_domain(opts, config)
File "/usr/lib/xen-4.1/bin/../lib/python/xen/xm/create.py", line 1458, in make_domain
subprocess.call(['test.sh', domid])
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
TypeError: execv() arg 2 must contain only strings
</code></pre>