使用os模块而不是子流程模块进行文件操作的缺点和好处是什么? [关闭]

问题描述 投票:-1回答:1

以下两种方法(可能还有更多方法)尤其可以用于文件操作和删除。

A:

import os
os.remove("whatever.txt")

B:

import subprocess
subprocess.check_call("rm whatever.txt", shell=True)

A和B都可以很好地工作,最终结果没有问题(文件已删除)。但是,就以下方面而言,这是最佳的:

  • 安全性?
  • 可维护性?
  • 性能?

使用一个与另一个相比有什么弊端和好处? 为什么以及如何?

linux subprocess python-os
1个回答
0
投票

它们非常相似,因为os.remove调用系统在Linux上是rm的相应的remove函数。唯一的区别是,使用subrocess可以使用rm -rf dir删除目录,但是os.remove只能删除文件。要使用os删除目录,您必须使用os.rmdir

© www.soinside.com 2019 - 2024. All rights reserved.