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 起已棄用