在python3中执行终端命令

Bra*_*ayU 16 python subprocess python-3.x raspberry-pi raspbian

我在Raspberry Pi上,我正在使用一个叫做的程序fswebcam,它允许你用网络摄像头拍照.

~$ fswebcam image.jpg
Run Code Online (Sandbox Code Playgroud)

如果在终端输入该命令拍摄照片并将其保存到您的计算机,但是我想构建一个简单的python程序,它可以访问终端并执行与上面列出的相同的命令.

我试过import os并使用os.system('fswebcam image.jpg')但它不适合我.

我怎么能有python执行终端命令?

ves*_*che 10

使用子进程模块:

import subprocess
subprocess.Popen(["fswebcam", "image.jpg"])
Run Code Online (Sandbox Code Playgroud)

  • 如果 `os.system('fswebcam image.jpg')` 不起作用(例如,因为 `fswebcam` 是仅在交互式 shell 中可用的别名),则 `subprocess.Popen(["fswebcam", "image .jpg"])` 也无济于事。要等待命令完成,请使用“subprocess.check_call()”而不是“Popen()”。 (2认同)