我正在将命令行转换为python字符串。命令行是:
../src/clus -INFILE=../input/tua40.sq -OUTPUT=OUTpython语句是:
c_dir = '~/prj/clus/'
c_bin = c_dir + 'src/clus'
c_data = c_dir + 'input/tua40.sq'
c = LiveProcess()
c.executable = c_bin
c.cwd = c_dir
c.cmd = [c.executable] + ['-INFILE=', 'c_data, '-OUTPUT=OUT'] 问题是末尾的c.cmd看起来像
~/prj/clus/src/clus -INFILE= ~/prj/clus/input/tua40.sq ...并不是说'=‘后面有空格,这会导致程序报告错误。
如何将'=‘连接到路径?
发布于 2012-02-04 01:42:06
LiveProcess需要一个argv样式的参数列表。当你想要使用一个参数时,你需要提供一个字符串。因此,使用连接来使字符串:
c.cmd = [c.executable] + ['-INFILE='+c_data, '-OUTPUT=OUT'] 此外,不需要添加列表:
c.cmd = [c.executable, '-INFILE='+c_data, '-OUTPUT=OUT'] 发布于 2012-02-04 01:43:51
为什么不像下面这样连接字符串:
a = 'A'+'B'然后
a == 'AB'
这就是你的例子
['-INFILE=' + c_data, '-OUTPUT=OUT'] 发布于 2012-02-04 01:44:10
试试这个:
c.cmd = [c.executable] + ['-INFILE='+c_data, '-OUTPUT=OUT']https://stackoverflow.com/questions/9132978
复制相似问题