簡體   English   中英

如何使用python查找和刪除損壞的文件

[英]How to find and delete the corrupt files using python

我搜索並找到了下面用python編寫的代碼來查找和刪除驅動器中的空文件夾。 當我嘗試刪除文件夾時,它給出了下面的錯誤消息。 我可以修改代碼或想法來搜索和刪除驅動器中損壞的文件夾和文件嗎?

import os
for root, dirs, files in os.walk('//run//media//halovivek//testing'):
    for file in files:
        src_file = os.path.join(root, file)
        if os.path.getsize(src_file) == 0:
            os.remove(src_file)

dir_list = []
for root, dirs, files in os.walk('//run//media//halovivek//testing'):
    dir_list.append(root)
for root in dir_list[::-1]:
    if not os.listdir(root):
        os.rmdir(root)
        

錯誤信息:

 Traceback (most recent call last):
  File "/home/halovivek/PycharmProjects/pythonProject/deleteEmpty.py", line 5, in <module>
    if os.path.getsize(src_file) == 0:
  File "/usr/lib/python3.9/genericpath.py", line 50, in getsize
    return os.stat(filename).st_size
OSError: [Errno 5] Input/output error: '//run//media//halovivek//testing/.Trash-1000/files/Songs Folder/My Music/SAD = UNNA NENA.mp3'

Process finished with exit code 1

OSError: [Errno 5] 輸入/輸出錯誤

如果您從終端運行代碼,則當您沒有活動的stdout時可能會發生此錯誤。 為避免 stdout 出現問題,您可以按照此處的建議將終端的輸出重定向到指定位置:

python my_script.py > /dev/null &

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM