python - 如何使用 python glob.glob() 打印子目录中的文件名

标签 python python-3.x glob

我有一个根目录,其中有两个子目录:猫和狗。在那里,我有一些文本文件。我正在尝试遍历所有子目录并打印文件名。下面是代码:

import glob
path = '/Users/msmacbook/Desktop/test/'
for x in glob.glob(path+'**/*'):
    print(x.replace(path, ""))

这是输出:

cat/cat1
cat/cat2
cat/cat3
dog/dog1
dog/dog2
dog/dog3

其中cat和dog是子目录,cat1..etc、dog1..etc是文件。

如何仅打印/检索文件名?我希望所需的输出是

cat1
cat2
cat3
dog1
dog2
dog3

最佳答案

您可以根据 / 字符分割路径并打印第二个(最后一个)元素,

for x in glob.glob(path+'**/*'):
    x = x.replace(path, "").split('/')
    print(x[-1])

关于python - 如何使用 python glob.glob() 打印子目录中的文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69599193/

相关文章:

python-3.x - 打印第二个字符串在第一个字符串以逗号分隔的成员中出现的次数

python - 如果没有某些特定值,则计算数据帧列中的行数

python - 如何使用 pathlib.Path().glob() 读入文件并将具有相同文件名的文件输出到另一个子文件夹

windows - 将 PNG 序列从目录转换为 MP4

python - 显示是否可以从整数列表中选择两个整数以使它们的差等于给定值的递归算法

python-3.x - 使用 pywinauto 迭代子菜单项

Python内联elif可能吗?

c - 使用C获取文件名列表并将它们存储在Linux上的数组中

python - 如何在python中获取字典的key

python - 与嵌套列表联合/多个for循环