出于安全目的,将 os.system 替换为 os.popen

Replace os.system with os.popen for security purposes

是否可以使用os.popen()来获得类似于os.system的结果?我知道 os.popen() 更安全,但我想知道如何通过此函数实际 运行 命令。使用 os.system() 时,事情会变得非常不安全,我希望能够以安全的方式访问终端命令。

任何使用 shell 来执行命令的东西都是不安全的,原因很明显(你不希望 运行 rm -rf / 在你的 shell :) 中。 os.systemos.popen 都使用 shell.

为了安全起见,请将 subprocess 模块与 shell = False

一起使用

无论如何,自 Python 2.6

以来,这两个函数都已被弃用