[英]How to print the file names in subdirectories with python glob.glob()
我有一个包含两个子目录 cat 和 dog 的根目录。 在那里,我有一些文本文件。 我正在尝试遍历所有子目录并打印文件名。 下面是代码:
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])
您可以使用os.path.basename
:
import os
import glob
path = '/Users/msmacbook/Desktop/test/'
for x in glob.glob(path + '**/*'):
print(os.path.basename(x))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.