我正在Linux系统(主要是RHEL 7.x)上运行python脚本。这些脚本复制,移动和删除文件系统上的文件。
我使用以下两种方法来解决这个问题:
A:
import os
os.remove("whatever.txt")
B:
import subprocess
subprocess.check_call("rm whatever.txt", shell=True)
A和B都可以很好地工作,最终结果没有问题(文件已删除)。但是,从以下方面考虑,这是首选的:
[基本上,使用一个与另一个相比有什么弊端和好处? 为什么以及如何?
是否存在“最佳”的第三个或第n个选项?
要澄清:我对与平台无关的解决方案不感兴趣。
它们非常相似,因为os.remove调用系统在Linux上是rm的相应的remove函数。唯一的区别是,使用subrocess可以使用rm -rf dir
删除目录,但是os.remove只能删除文件。要使用os删除目录,您必须使用os.rmdir