Python:运行命令行的几种方式

目录

一、os.system

二、os.popen

三、subprocess(推荐)

(1)subprocess.getoutput

(2)subprocess.getstatusoutput


一、os.system

成功运行命令则返回0,运行出错则返回1,不会返回执行输出信息

# windows环境下:

print(os.system("dir"))
# 0

print(os.system("ls"))
# 1

二、os.popen

执行命令后还会返回响应的信息,但是如果执行命令报错,则返回空值

# windows 环境下

print(str(os.popen("dir").read()))
'''
dir
 驱动器 D 中的卷没有标签。
 卷的序列号是 0B9A-064B
'''

print(str(os.popen("ls").read()))
# 空

三、subprocess(推荐)

(1)subprocess.getoutput

能够返回命令执行的输出信息,包括错误信息;本质上是调用调用getstatusoutput

# windows 环境下

print(subprocess.getoutput("dir"))
'''
 驱动器 D 中的卷没有标签。
 卷的序列号是 0B9A-064B
'''

print(subprocess.getoutput("ls"))
'''
'ls' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
'''

(2)subprocess.getstatusoutput

能够返回命令执行的输出信息,包括错误信息

# windows 环境下

print(subprocess.getstatusoutput("dir"))
'''
(0, ' 驱动器 D 中的卷没有标签。\n 卷的序列号是 0B9A-064B......')
'''

print(subprocess.getstatusoutput("ls"))
# (1, "'ls' 不是内部或外部命令,也不是可运行的程序\n或批处理文件。")
物联沃分享整理
物联沃-IOTWORD物联网 » Python:运行命令行的几种方式

发表评论