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

时间:2019-02-01 00:53:33

标签: python operating-system

我有数千个文本文件,我想使用python读取。我已经成功读取了一个文件,但是现在我不确定如何使用循环或任何其他命令读取多个文件

我试图通过将文本文件的可变字符保存在字符串中来拆分文件的名称和类型。 例如 我有3个文件分别命名为file_1,file_2,file_3

我接受了一个变量并将其限制为=“ 1”,并使用文件的完整地址对其进行了修饰。现在我想知道如何访问其他两个文件。如果我不想多次使用同一行代码,因为实际上我有
数千个文件

import os
from os import path
limit1 = "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 个答案:

答案 0 :(得分:0)

您可以使用glob.glob访问该文件夹的所有文件路径,并使用for循环读取每个文件。

files = [file for file in glob.glob("../somefolder/*")]
for file_name in files:
    with io.open(file_name, 'rb') as image_file:
        content = image_file.read()

答案 1 :(得分:0)

尝试为此使用循环:

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()

当然您还有其他options

答案 2 :(得分:0)

您可以使用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