gpt4 book ai didi

python - 删除多个文件夹中的相同文件(python)

转载 作者:太空狗 更新时间:2023-10-30 01:25:45 25 4
gpt4 key购买 nike

我有 100 个不同名称的文件夹,每个文件夹中应该包含相同的三个文件,但在某些文件夹中,这三个文件都不存在。

如何删除那些空文件夹或只包含一个或两个文件的文件夹?

这是三个文件:

001.7z
002.7z
003.7z

最佳答案

Python 使用 glob 获取文件和文件夹。

import glob, os, shutil

# Get all folders in current directory.
folders = [item for item in glob.iglob('*') if os.path.isdir(item)]

# Loop though the folders.
for folder in folders:
# Check amount of .7z files and if less than 3, remove folder tree.
if len(glob.glob(folder + r'\*.7z')) < 3:
shutil.rmtree(folder)

AutoIt 使用 FileFindFirstFile。可以使用可能更少代码的 STD UDF。

$hFind1 = FileFindFirstFile('*')
If $hFind1 = -1 Then Exit 1

While 1
; Get next folder.
$sFound1 = FileFindNextFile($hFind1)
If @error Then ExitLoop

; Skip files.
If Not @extended Then ContinueLoop

; Find 7z files.
$hFind2 = FileFindFirstFile($sFound1 & '\*.7z')

; If no handle, delete folder.
If $hFind2 = -1 Then
DirRemove($sFound1)
ContinueLoop
EndIf

; Count for 7z files.
$iCount = 0

; Get count of 7z files.
While 1
$sFound2 = FileFindNextFile($hFind2)
If @error Then ExitLoop
$iCount += 1
WEnd

FileClose($hFind2)

; Remove folder if count less than 3.
If $iCount < 3 Then
DirRemove($sFound1, 1); 1 = recurse
EndIf
WEnd

FileClose($hFind1)

关于python - 删除多个文件夹中的相同文件(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49473545/

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