【发布时间】:2014-09-09 20:11:52
【问题描述】:
我有一个小的python sn-p,它调用一个更大的程序(我没有写更大的程序)。
call(['function1', file1, file2, 'data.labels=abc, xyz'])
以上工作。
input ='abc, xyz'
现在我想输入“abc,xyz”作为保存这个值的变量
call(['function1', file1, file2, 'data.labels=input'])
但它不起作用。
如何将变量值传递给调用子进程中的变量 data.labels。
【问题讨论】:
-
一个更具体的问题可能是,“我如何获取字符串
'abc, xyz'并以某种方式获取字符串'data.labels=abc, xyz'”?答案根本不是针对call,只是普通的字符串操作。 -
@Kevin:它特定于 Windows 上的
subprocess.call(),其中CreateProcess()用于启动接受单个字符串作为命令的子进程,请参阅subprocess.list2cmdline()。换句话说,您不能在 Windows 上传递任意未转义的值,因为list2cmdline()并未涵盖所有可能的情况。
标签: python subprocess call