是否可以使用os.popen()
获得与os.system
类似的结果?我知道os.popen()
更为安全,但是我想知道如何能够通过此功能实际运行命令。使用os.system()
时,事情可能会变得非常不安全,我希望能够以一种安全的方式访问终端命令。
答案 0 :(得分:2)
使用Shell执行命令的任何操作都是不安全的,原因显而易见(您不希望有人在您的Shell中运行rm -rf /
)。 os.system
和os.popen
都使用外壳程序。
为了安全起见,请将subprocess
模块与shell = False
一起使用
无论哪种方式,自Python 2.6以来,这两个函数均已弃用