【问题标题】:Python operating on files in a folder - 'for file in folder'Python 对文件夹中的文件进行操作 - 'for file in folder'
【发布时间】:2012-07-15 20:14:03
【问题描述】:

我知道一个文件夹的路径,并且对于文件夹中的每个文件我都想做一些操作。所以基本上我正在寻找的是一种for file in folder 类型的代码,它可以让我访问变量中的文件。

执行此操作的 Python 方法是什么?

谢谢

编辑 - 示例:我的文件夹将包含一堆 XML 文件,并且我已经有一个 python 例程可以将它们解析为我需要的变量。

【问题讨论】:

  • os.listdiros.walk

标签: python file memory directory


【解决方案1】:

对于从 python 3.5 或更高版本开始的人来说,我们现在拥有优越的 os.scandir(),它比 os.listdir() 具有巨大的性能改进

有关改进/好处的更多信息,请查看https://benhoyt.com/writings/scandir/

【讨论】:

  • 嗨 CJ,这不是问题的答案,您可以将此类 cmets 留在评论部分(例如作为主要答案的主题)
  • 很抱歉,我认为这是有用的信息,但我没有足够的声誉来为其他人的回复添加评论。
【解决方案2】:

这将允许您访问和打印当前目录中的所有文件名:

import os

for filename in os.listdir('.'):
   print filename

os 模块包含有关各种可用功能的更多信息。 os.listdir() 函数还可以采用您想要指定的任何其他路径。

【讨论】:

  • 对于 os.listdir() 的参数,我可以传入我已知目录的路径吗?
  • @YoungMoney 是的,你可以,我会在我的答案中添加一些链接以获取更多文档。
【解决方案3】:

glob 库看起来有用吗?

它将执行一些模式匹配,并接受绝对地址和相对地址。

>>> import glob
>>> for file in glob.glob("*.xml"):    # only loops over XML documents
        print file

【讨论】:

    猜你喜欢
    • 2015-10-16
    • 2010-12-18
    • 1970-01-01
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    • 1970-01-01
    相关资源
    最近更新 更多