commands
commands - 用于运行命令的实用程序
自2.6版弃用:commands
模块已在Python 3中删除。请改用subprocess
模块。
该commands
模块包含包装函数,os.popen()
它将系统命令作为字符串并返回由该命令生成的任何输出,以及可选的退出状态。
子流程模块提供了更多强大的工具来生成新流程并检索其结果。 使用子进程模块优于使用命令模块。
注意
在Python 3.x中,getstatus()和两个未公开的函数(mk2arg()和mkarg())已被删除。 此外,getstatusoutput()和getoutput()已移至子流程模块。
该commands
模块定义了以下功能:
commands.getstatusoutput(cmd)
使用os.popen()在shell中执行字符串cmd并返回2元组(状态,输出)。 cmd实际上是以{cmd; } 2>&1,以便返回的输出将包含输出或错误消息。 尾随的换行符从输出中剥离。 该命令的退出状态可以根据C函数wait()的规则进行解释。
commands.getoutput(cmd)
像getstatusoutput()
,除了退出状态被忽略,返回值是一个包含命令输出的字符串。
commands.getstatus(file)
以字符串形式返回ls -ld文件的输出。 该函数使用getoutput()函数,并正确地转义参数中的反斜杠和美元符号。
自2.6版弃用:此功能不明显且无用。这个名字在存在时也是误导性的getstatusoutput()
。
例:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'
扩展内容
Module
subprocess
管理子过程模块。