擅长:python、mysql、java
<p>下面是一种利用Python解释器的<code>-c</code>选项的方法:</p>
<pre><code>>>> import subprocess
>>> pycode = """
... import sys
... if sys.argv[1] == 'foo':
... print('bar')
... else:
... print('unrecognized arg')
... """
>>> result = subprocess.run(['python', '-c', pycode, 'bar'], stdout=subprocess.PIPE)
>>> print(result.stdout.decode())
unrecognized arg
>>> result = subprocess.run(['python', '-c', pycode, 'foo'], stdout=subprocess.PIPE)
>>> print(result.stdout.decode())
bar
</code></pre>
<p>这可能会带来一些问题,比如某些平台限制了作为参数传递的内容的大小。我试图使用<code>stdin</code>来实现这一点,Python解释器将接受它,但是它不会接受参数!在</p>