gpt4 book ai didi

python - 强制删除文件,如 "rm -f"或强制取消文件路径与目录的链接

转载 作者:IT王子 更新时间:2023-10-29 01:24:25 25 4
gpt4 key购买 nike

我的代码如下 -

#!/usr/bin/env python
import time, glob, os, sys
from datetime import date, timedelta

try:
dpath = sys.argv[1]+"/"
except:
print "usage: " + sys.argv[0] +" <dir_path_to_purge_files>"
sys.exit(1)
print dpath
day_minus_mtime = time.mktime(date.today().timetuple())
g = glob.glob(dpath+"*")
for f in g:
try:
if day_minus_mtime > os.path.getmtime(f):
os.remove(f)
print "Removed: "+f
except OSError, e:
print "Not able to Remove: "+f , e

我认为 os.remove(file) 等同于 linux 中的“rm file”。

我想知道“rm -f 文件”的等效函数。强制删除文件或强制取消文件路径与目录的链接。

此外,上面的代码试图清除比今天更早的文件。我有这样一种情况,文件没有被删除,因为它由于所有权而被“写保护”。但是当我对同一个文件使用“rm -f”时;它正在被删除。

I think it is better to ask a question, even though it sounds stupid to yourselves

最佳答案

--force 选项到 rm 意味着忽略不存在的文件并且从不提示,根据到我的手册页。

从不提示 部分很简单,您的 python remove 不提示,对吗?

忽略不存在的文件也很简单:您可以在删除文件之前检查文件是否存在。你有一个小的竞争条件,因为文件可能会在存在检查和删除之间消失。或者您可以捕获 OSError,并验证它是否因文件不存在而抛出(OSError:[Errno 2] 没有这样的文件或目录...)。 OSError 的另一个原因是,您要删除的文件不是文件而是目录。

force 选项具有 mo 权限魔法(至少在我的 linux 上),请记住,删除文件是对目录的写操作。

关于python - 强制删除文件,如 "rm -f"或强制取消文件路径与目录的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9556218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com