我試圖刪除文件夾中的所有空文件,並有該文件夾中的文件夾,以便需要檢查這些文件夾太裏面:C之內如何刪除文件夾及其子文件夾內的所有空文件?
如 刪除所有空文件:\文件夾1 \文件夾1和C :\文件夾1 \文件夾2等
我試圖刪除文件夾中的所有空文件,並有該文件夾中的文件夾,以便需要檢查這些文件夾太裏面:C之內如何刪除文件夾及其子文件夾內的所有空文件?
如 刪除所有空文件:\文件夾1 \文件夾1和C :\文件夾1 \文件夾2等
import sys
import os
def main():
getemptyfiles(sys.argv[1])
def getemptyfiles(rootdir):
for root, dirs, files in os.walk(rootdir):
for d in ['RECYCLER', 'RECYCLED']:
if d in dirs:
dirs.remove(d)
for f in files:
fullname = os.path.join(root, f)
try:
if os.path.getsize(fullname) == 0:
print fullname
os.remove(fullname)
except WindowsError:
continue
這將一點調整的工作:
的os.remove()
語句可能會失敗,所以你可能要與try...except
來包裝它。 WindowsError
是平臺特定的。過濾遍歷的目錄不是絕對必要的,但有幫助。
for循環使用dir以遞歸方式查找當前目錄和所有子文件夾中的所有文件,但不查找目錄。然後第二行檢查每個文件的長度是否小於1個字節,然後刪除它。
cd /d C:\folder1
for /F "usebackq" %%A in (`dir/b/s/a-d`) do (
if %%~zA LSS 1 del %%A
)
我希望這可以幫助你
#encoding = utf-8
import os
docName = []
def listDoc(path):
docList = os.listdir(path)
for doc in docList:
docPath = os.path.join(path,doc)
if os.path.isfile(docPath):
if os.path.getsize(docPath)==o:
os.remove(docPath)
if os.path.isdir(docPath):
listDoc(docPath)
listDoc(r'C:\folder1')
import os
path=input("enter valid path")
while(True):
if(os.path.isdir(path)):
break
else:
print("please enter a valid path ")
for root,dirs,files in os.walk(path):
for name in files:
filename=os.path.join(root,name)
if os.stat(filename).st_size==0:
print(" Removing ",filename)
os.remove(filename)
請修正縮進 - 這真的很難閱讀。 – zero323 2015-12-17 19:56:43
哎呀,我沒有注意到蟒蛇標籤,這是由於Windows CMD,但它是簡單的,所以你可能會發現它有用反正。 – Marichyasana 2015-04-04 22:36:04