gpt4 book ai didi

python - 迭代子目录中的文本文件

转载 作者:行者123 更新时间:2023-11-30 22:18:15 32 4
gpt4 key购买 nike

如何仅迭代目录中的文本文件?到目前为止我所拥有的是;

for file in glob.glob('*'):
f = open(file)
text = f.read()
f.close()

这有效,但是我必须将 .py 文件存储在同一目录(文件夹)中才能使其运行,因此迭代包含 .py 文件本身。理想情况下,我想要命令的是;

  1. “查看此子目录/文件夹,并迭代其中的所有文件”

或者...

  • “查看此目录中的所有文件并迭代那些扩展名为 .txt 的文件”
  • 我确定我要求的东西相当直接,但我不知道如何继续。也许值得我强调的是,我通过反复试验获得了 glob 模块,因此,如果这是解决此特定方法的错误方法,请随时纠正我!谢谢。

    最佳答案

    glob.glob 函数实际上采用通配模式作为其参数。例如,"*.txt"会匹配名称以.txt结尾的文件。

    以下是如何使用它:

    for file in glob.glob("*.txt"):
    f = open(file)
    text = f.read()
    f.close()

    但是,如果您想排除某些特定文件,例如 .py 文件,则 globbing 语法不直接支持此功能,如 here 所述。 .

    在这种情况下,您需要获取这些文件,并手动排除它们:

    pythonFiles = glob.glob("*.py")
    otherFiles = [f for f in glob.glob("*") if f not in pythonFiles]

    关于python - 迭代子目录中的文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49432084/

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