繁体   English   中英

如何在使用 Glob 和 OS 时并排打印文件夹名称和文件名称?

[英]How, when using Glob and OS, can I print Folder names and File names side by side?

    import os
    import glob

    d = os.listdir("Path")

    for folder in d:
     print(folder)

    x = glob.glob("Path/**/*.pdf")

    for files in x:
     print(files)

运行第一个 for 循环时,它会打印目录中的文件夹名称。 运行第二个时,它会打印这些文件夹中的所有.pdf 文件名。

但是,在打印文件名时,它还会在文件名之前打印目录。 如何只打印文件名而不打印目录?

我还计划将文件夹名称和相应的文件名并排打印,依此类推: ['Folder', 'File'] ['Folder', 'File'] 等等...我该怎么做做这个?

非常感谢您的帮助。

您打印文件夹的原因是因为您有两个 for 循环。 for folder in d:您正在打印文件夹变量。 for files in x:的第二个 for 循环中,您正在打印文件夹中的文件。 要执行您想要的操作,请获取路径中的文件夹,然后遍历每个文件夹并找到文件,然后您可以在同一行打印文件夹和文件名,如下所示:

import os
import glob

d = os.listdir("Path")

for folder in d:
    x = glob.glob("Path/**/*.pdf")
    for file in x:
        print(f'{folder}\t{file}')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM