我已經閱讀了很多與這個問題有關的問題,但我注意到它發生了很多很多原因,並沒有找到答案給我特別的問題。事情是,我不小心刪除了一些文件,並使用photorec來嘗試恢復它們(我在Ubuntu 16.04 Xenial上)。問題是,它恢復了2600多個文件夾!我正在寫一個小文件抓取工具來擺脫我不需要的文件 - 唯一感興趣的文件是.py,.jpg,.png和.mp3。下面是代碼到我的履帶:Python - OSError:[Errno 2]沒有這樣的文件或目錄
import os
path=
for (path, dirs, files) in os.walk(path):
for name in files:
if name.endswith('.py') or name.endswith('.jpg') or name.endswith('.png') or name.endswith('.mp3'):
continue
else: os.remove(name)
我定義了「路徑」手動,和我做了一個測試,我打印的路徑,顯示目錄和文件的一部分,它打印我想要的東西。但是,在運行下面的代碼時,它將返回:
OSError: [Errno 2] No such file or directory: 'f0272560.java'
我假設這是我嘗試刪除的第一個文件。我猜測它已經被刪除後再次查找該文件。這是否有意義,或者它是否會引發錯誤?我怎麼能解決這個問題?
提前致謝!
你只傳遞文件名到'os.remove()'。你應該傳遞完整的路徑名。 –