在python中同时读取多个文件
我用python编写了一段代码,它读取文件的一列,并根据给定的if/else条件将输出作为“p”或“R”。我想更改它,使它在获得第一个P或R并将其打印为输出时停止读取文件。而且,我有上千个这样的文件,所以每次运行时都必须不断更改文件名。有谁能修改一下这个代码,这样我就可以立即运行它,并得到所有文件的输出?所有这些文件都在同一个目录中,并且这些是该目录中唯一的文件。还有谁能告诉我如何存储或打印相关文件的输出在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
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]行),这是您正在运行的代码的一个问题,很可能是缩进错误。您能给我一个修复建议吗?我是编程新手,不能理解。