如何通过遵循文件名的文本列表在Python中打开多个文件?

时间:2017-02-06 11:38:12

标签: python python-2.7

我有一个Python代码来对文本文件执行某些操作。我需要在大约200多个文本文件上运行此代码,这些文件都存储在同一个文件夹中。

我希望代码一次打开一个文本文件,执行操作,然后重新开始使用下一个文本文件。

你能否就我如何做到这一点给出一些指示?

我的代码是这样的:

def main():
    text_file = open("filename.txt","r")
    #operations
    text_file.close()

main()

2 个答案:

答案 0 :(得分:2)

使用listdir迭代文件。

import os

def main():
    for filename in os.listdir(somedir):
        filepath = os.path.join(somedir, filename)
        if os.path.isfile(filepath):  # Is filepath really a file, not a directory?
            text_file = open(filepath,"r")
            #operations
            text_file.close()

main()

如评论中所述,最好使用with

答案 1 :(得分:-1)

不确定您有多少个文件,但您也可以查看 http://www.dabeaz.com/generators-uk/genfind.py然后将其发送到http://www.dabeaz.com/generators-uk/genopen.py

这是处理大量数据的理想解决方案。 谢谢戴夫; - )