Python 编程/外部命令
外观
执行外部命令的传统方法是使用 os.system()
import os
os.system("dir")
os.system("echo Hello")
exitCode = os.system("echotypo")
自 Python 2.4 以来的现代方法是使用 subprocess 模块
subprocess.call(["echo", "Hello"])
exitCode = subprocess.call(["dir", "nonexistent"])
执行外部命令并读取其输出的传统方法是通过 popen2 模块
import popen2
readStream, writeStream, errorStream = popen2.popen3("dir")
# allLines = readStream.readlines()
for line in readStream:
print(line.rstrip())
readStream.close()
writeStream.close()
errorStream.close()
自 Python 2.4 以来的现代方法是使用 subprocess 模块
import subprocess
process = subprocess.Popen(["echo","Hello"], stdout=subprocess.PIPE)
for line in process.stdout:
print(line.rstrip())
关键词:系统命令、shell 命令、进程、反引号、管道。
- 17.1. subprocess — 子进程管理, python.org, 自 Python 2.4 起
- 15.1. os — 杂项操作系统接口, python.org
- 17.5. popen2 — 具有可访问 I/O 流的子进程, python.org, 自 Python 2.6 起已弃用