在Linux系统上使用python删除文件的“最佳”选项是什么?

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

我正在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个选项?

要澄清:我对与平台无关的解决方案不感兴趣。

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.