我正在尝试将一个字符串作为System Argument变量传递给python中的gnuplot。我之前已经做了好几次,但令人惊讶的是这次它不起作用。我使用了这个主题How to pass command line argument to gnuplot?,但我没有工作
import subprocess
ii=2
while ii<5:
if (ii==2):
name='rectangular'
a="gnuplot -e 'name="+name+ "' graph3.gp"
if (ii==3):
name='trapezoidal'
if (ii==4):
name='simpson'
a="gnuplot -e 'name="+str(simpson)+ "' graph3.gp"
subprocess.call(a, shell='true')
ii=ii+1
我总是收到相同的错误消息:
line 0: undefined variable: rectangular
line 0: undefined variable: trapezoidal
line 0: undefined variable: simpson
答案 0 :(得分:0)
夫妻俩:
可能是这样的:
subprocess.call(a.split(), shell=True) # or
subprocess.call(["gnuplot", "-e", "'name={}".format(str(name)), "graph3.gp"], shell=True)
答案 1 :(得分:0)
好的,我知道如何做到这一点。一切都必须以字符串形式传递:
import subprocess
ii=2
while ii<5:
if (ii==2):
name='name="rectangular"'
if (ii==3):
name='name="trapezoidal"'
if (ii==4):
name='name="simpson"'
a="gnuplot -e {0} graph3.gp".format(name)
subprocess.call(a.split(), shell=False)
ii=ii+1
〜