输出子进程调用的命令行?

输出子进程调用的命令行?,第1张

输出子进程调用的命令行?

这取决于您使用的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'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5673580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存