为什么使用Python的os模块方法而不是直接执行shell命令?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (176)

我试图了解使用Python库函数执行操作系统特定任务么,例如创建文件/目录、更改文件属性等,而不仅仅是通过以下方式执行这些命令。

提问于
用户回答回答于

例子脚本

import os
file = raw_input("Please enter a file: ")
os.system("chmod 777 " + file)

如果用户的输入是test; rm -rf ~将删除主目录。

用户回答回答于
  1. 它的速度更快os.systemsubprocess.call创造新的工艺是不必要的东西这么简单。
  2. 有些命令在单独的进程中无用的
  3. 不必担心由shell 解释的特殊字符
  4. 不必担心以短划线开头的文件名
  5. 跨平台和跨shell的关注较少
  6. 如果你正在运行的命令有你所关心的输出,那么你需要对它进行解析

扫码关注云+社区

领取腾讯云代金券