gpt4 book ai didi

python-3.x - 如何在脚本中的 Python3 递归目录中列出唯一文件类型扩展名?

转载 作者:行者123 更新时间:2023-12-05 02:14:08 25 4
gpt4 key购买 nike

我想在递归目录中列出所有唯一的扩展类型。我试过下面的代码,它没有打印任何东西。如果我输入例如“.m4a”,它就会起作用。此外,即使此代码适用于“.*”,它也会列出所有文件,但我只想要唯一扩展名的列表。无法列出扩展名并搜索它们,因为我不知道存在哪些不同的文件类型。

for file in os.listdir(root):
if file.endswith(".*"):
print(os.path.join(root, file))

此问题已在 How can I find all of the distinct file extensions in a folder hierarchy? 上提出但它没有帮助,因为它适用于 Linux 机器。

提前致谢。

最佳答案

无论如何,另一个问题与 Python 无关。一种方法是遍历路径,递归地进入子目录并将文件类型添加到一个集合中:

import os
exts = set(f.split('.')[-1] for dir,dirs,files in os.walk('.') for f in files if '.' in f)

拆分后使用[-1] 提取最后一部分,以防文件名包含.

使用 if '.'在 f 中以确保文件确实具有扩展名。

深思熟虑

我坚持不使用 splitext 似乎没有根据,它更简洁:

import os
exts = set(os.splitext(f)[1] for dir,dirs,files in os.walk('.') for f in files)

这将为没有扩展名的文件返回空扩展名。

关于python-3.x - 如何在脚本中的 Python3 递归目录中列出唯一文件类型扩展名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54077560/

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