Python:运行命令行的几种方式
目录
一、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或批处理文件。")