为什么不推荐使用os.system()执行Shell命令?

Sab*_*ina 5 python

根据

在上一节中,我们看到了该os.system()函数的正常工作。但是不建议您执行Shell命令。我们将使用Python子进程模块执行系统命令。

作者从没os.system()在他/她的帖子中提到为什么不推荐这样做。我可以知道为什么不建议这样做吗?

是否存在任何安全漏洞os.system(),因此不建议执行Shell命令?

che*_*ner 5

os.system仅将包含外壳程序命令的单个字符串作为参数。这要求用户在可以运行所需的命令之前了解外壳将如何处理字符串。

从其自己的文档中:

子流程模块提供了更强大的功能来生成新流程并检索其结果。使用该模块优于使用此功能。有关一些有用的食谱,请参见子过程文档中的“用子过程模块替换旧功能”部分。