为了账号安全,请及时绑定邮箱和手机立即绑定

使用python从同一文件夹中读取多个文件

使用python从同一文件夹中读取多个文件

一只萌萌小番薯 2021-10-26 16:27:55
我有数以千计的文本文件,我想使用 python 阅读它们。我已成功读取一个文件,现在我不确定如何使用循环或任何其他命令读取多个文件我试图通过保存保存在字符串中的文本文件的可变字符来拆分文件的名称和类型。例如,我有 3 个文件名为 file_1、file_2、file_3我取了一个变量并限制=“1”并将它与文件的完整地址结合起来。现在我想知道如何访问其他两个文件。前提是我不想多次使用同一行代码,因为实际上我有数千个文件import osfrom os import pathlimit1 = "1"strpath = r"C:/Users/saqibshakeel035/Desktop/SP/text_file_r_w"print("Your current directory is : %s"  %path.abspath(strpath))f = open("C:/Users/saqibshakeel035/Desktop/SP/text_file_r_w/file_" + limit1 + ".txt", "r")print(f.read())此代码适用于 1 个文件。现在我想让我的代码读取多个文件,稍后我会将我的文件传输到其他地方。
查看完整描述

3 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您可以使用os.walk扫描目录中的所有文件。


import os


for root, dirs, files in os.walk('lang/'):

    for file in files:

        filename, extension = os.path.splitext(file)

        if extension == '.txt':

            # Do Some Task

请注意,如果您可以按文件名或文件扩展名进行过滤。


例如,如果要获取文件名中包含 'hello' 的文件,还可以添加


if 'hello' in filename:

    # Do Some Task


查看完整回答
反对 回复 2021-10-26
?
DIEA

TA贡献1820条经验 获得超2个赞

尝试为此使用循环:


import os

def main():

    for dirName, subDirList, fileList in os.walk('path'):

        for subDir in subDirList:

            for file in fileList:

                #Do something with file

main()

这会递归地遍历给定目录中的文件。请注意,这也会遍历父目录中任何其他子目录中的文件。要忽略子目录,请执行以下操作:


import os

def main():

    for dirName, subDirList, fileList in os.walk('path'):

        for file in fileList:

            #Do something with file

main()

当然,您还有其他选择。


查看完整回答
反对 回复 2021-10-26
  • 3 回答
  • 0 关注
  • 287 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信