为安全目的替换OS.System



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

出于明显的原因,使用shell执行命令的任何事物都是不安全的(您不希望有人在外壳中运行 rm -rf / :)。os.systemos.popen都使用外壳。

对于安全性,请使用subprocess模块与shell = False

使用

无论哪种方式,这两个功能都自Python 2.6

以来都被弃用了

最新更新