python - 如何在不使用 glob (python3.4) 的情况下将文件的递归列表输出到文本文件

标签 python linux

我正在尝试递归遍历“boards”目录中的所有目录并找到以“.vhd”结尾的文件,然后将它们输出到文本文件。我使用的是 python 3.4,所以我无权访问递归 glob。

path = '../../boards'

rel_paths = open('rel_paths.txt', 'a+')

files = [os.path.join(dirpath, f)
for dirpath, dirnames, files in os.walk(path)
    for f in files
        if f.endswith('.vhd')]

我希望“rel_paths.txt”在内部看起来像这样:

../../boards/foo/bar/file_name1.vhd
../../boards/foo/bars/file_name2.vhd

最佳答案

如果你够灵活,你可以使用 Unix 命令“find”而不是像下面这样编写 python 代码

find ../../boards -name "*.vhd" >>  rel_paths.txt

它可以根据你的需要进行修改

关于python - 如何在不使用 glob (python3.4) 的情况下将文件的递归列表输出到文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56190671/

相关文章:

linux - 在 linux 的设备驱动程序中打开设备节点

php - 运行一个 bash 脚本,它从 php 中的特定用户启动一个屏幕

python - 用于社交网络的 Django

python - 合并二维数组

python - 如何使用 urlopen 获取非 ascii url?

linux - execv 和只运行一个应用程序之间的区别?

python - Pandas apply 函数将 4 个元素列表返回到 4 列键错误

Python, BeautifulSoup : &reg - how to convert to proper regmark

c - 发现我的程序的输出被重定向到一个文件中

linux - 如何避免在 Raspbian 的 xrdp 下对某些程序使用 sudo?