gpt4 book ai didi

python - 递归扫描文件并删除python中的空目录

转载 作者:太空狗 更新时间:2023-10-29 22:19:15 25 4
gpt4 key购买 nike

我有以下结构:

Dir 1
|___Dir 2
|___file 1
|___file 2...
Dir 3
|___Dir 4
|___file 3...

我希望能够递归地找到每个文件,以我自己的方式处理文件,一旦完成,删除文件,移动到下一个。然后,如果该目录是空的,也将其删除,直到什么都没有为止。

只是不确定如何进行。

这是我的:

for root, dirs, files in os.walk(dir):
path = root.split('/')
for file in files:
file = os.path.join(root, file)
process_file(file)
os.remove(file)

这很好,但我想删除子目录,前提是它们是空的。

最佳答案

好吧,我想这就可以了,不过必须运行 os.walk...

def get_files(src_dir):
# traverse root directory, and list directories as dirs and files as files
for root, dirs, files in os.walk(src_dir):
path = root.split('/')
for file in files:
process(os.path.join(root, file))
os.remove(os.path.join(root, file))

def del_dirs(src_dir):
for dirpath, _, _ in os.walk(src_dir, topdown=False): # Listing the files
if dirpath == src_dir:
break
try:
os.rmdir(dirpath)
except OSError as ex:
print(ex)


def main():
get_files(src_dir)
del_dirs(src_dir)


if __name__ == "__main__":
main()

关于python - 递归扫描文件并删除python中的空目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22001216/

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