这取决于您使用的Python版本。在Python3.3中,arg保存在
proc.args:
proc = subprocess.Popen(....)print("the commandline is {}".format(proc.args))
在Python2.7,在
args没有保存,它只是传递到像其他功能
_execute_child。因此,在这种情况下,获取命令行的最佳方法是在拥有命令行时将其保存:
proc = subprocess.Popen(shlex.split(cmd))print "the commandline is %s" % cmd
请注意,如果您具有参数 列表
(例如,返回的事物类型)
shlex.split(cmd),则可以
cmd使用未记录的函数来恢复命令行字符串
subprocess.list2cmdline:
In [14]: import subprocessIn [15]: import shlexIn [16]: cmd = 'foo -a -b --bar baz'In [17]: shlex.split(cmd)Out[17]: ['foo', '-a', '-b', '--bar', 'baz']In [18]: subprocess.list2cmdline(['foo', '-a', '-b', '--bar', 'baz'])Out[19]: 'foo -a -b --bar baz'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)