在python中同时读取多个文件

在python中同时读取多个文件,python,for-loop,file-read,Python,For Loop,File Read,我用python编写了一段代码,它读取文件的一列,并根据给定的if/else条件将输出作为“p”或“R”。我想更改它,使它在获得第一个P或R并将其打印为输出时停止读取文件。而且,我有上千个这样的文件,所以每次运行时都必须不断更改文件名。有谁能修改一下这个代码,这样我就可以立即运行它,并得到所有文件的输出?所有这些文件都在同一个目录中,并且这些是该目录中唯一的文件。还有谁能告诉我如何存储或打印相关文件的输出 f = open('/home/abc/xyz/coord/coord_348.x

我用python编写了一段代码,它读取文件的一列,并根据给定的if/else条件将输出作为“p”或“R”。我想更改它,使它在获得第一个P或R并将其打印为输出时停止读取文件。而且,我有上千个这样的文件,所以每次运行时都必须不断更改文件名。有谁能修改一下这个代码,这样我就可以立即运行它,并得到所有文件的输出?所有这些文件都在同一个目录中,并且这些是该目录中唯一的文件。还有谁能告诉我如何存储或打印相关文件的输出

    f = open('/home/abc/xyz/coord/coord_348.xvg')


    dat = f.readlines()
    dat1 = dat[22:len(dat)]
    dat2=[]
    for k in dat1:
        dat2.append(k.split())
    res=[]
    for k in dat2:
        if float(k[1])>=9.5:
          print('P')
          res.append
        elif float(k[1])<=5.9:
          print('R')
          res.append
        else:
          res.append

    print(res)
f=open('/home/abc/xyz/coord/coord_348.xvg'))
dat=f.读线()
dat1=dat[22:len(dat)]
dat2=[]
对于dat1中的k:
dat2.append(k.split())
res=[]
对于dat2中的k:
如果浮动(k[1])>=9.5:
打印('P')
res.append

elif float(k[1])这样您就可以像这样简化循环:

打开(“file.xvg”、“r”)作为f:
对于i,枚举(f)中的行:
如果i<22:
#跳到第22行
持续
line=line.strip().split()
#不清楚您要在`res'中附加什么`
如果浮动(第[1]行)大于等于9.5:
打印(“P”)
打破

elif float(第[1]行)这样您就可以一开始就简化循环,如下所示:

打开(“file.xvg”、“r”)作为f:
对于i,枚举(f)中的行:
如果i<22:
#跳到第22行
持续
line=line.strip().split()
#不清楚您要在`res'中附加什么`
如果浮动(第[1]行)大于等于9.5:
打印(“P”)
打破

elif float(第[1]行)这是否回答了您的问题@Alex,这个答案并没有完全回答我的问题,因为它没有告诉我当我得到我在问题中提到的R或P时,如何停止读取文件。这个答案回答了你的问题吗@Alex,这个答案并没有完全回答我的问题,因为它没有告诉我,当我得到我在问题中提到的R或P时,如何停止读取文件。我如何存储知道哪个文件给出了什么输出@这是
文件
变量。请参阅。这给了我一个错误:elif float(第[1]行),这是您正在运行的代码的一个问题,很可能是缩进错误。您能给我一个修复建议吗?我是编程新手,不知道该怎么做。我如何存储才能知道哪个文件给出了什么输出@这是
文件
变量。请参阅。这给了我一个错误:elif float(第[1]行),这是您正在运行的代码的一个问题,很可能是缩进错误。您能给我一个修复建议吗?我是编程新手,不能理解。