我有许多文本文件的形式:
alpha 89687
beta 9564
delta 10000
我只想单独查看每一行并评估第二列中的每个值。如果该值不在某个范围内,我想删除整个文件。我有一个文本文件,其中包含我要浏览的所有文件的标题。这是我的代码:
with open('filetitles.dat', 'r') as f:
for line in f:
with open(line, 'r+') as t:
for i, enumerate(t):
v = i == 2 and #how to specify column
if v<1 or v>100:
delete(t)
z = i == 3 and #how to specify column
if v<100 or v>120000:
delete(t)
任何帮助将不胜感激。谢谢 下面是我修改后的代码。我无法让它进入下一行,因为条件没有得到满足。
import os
with open('test.txt', 'r') as f: #file with titles of files
files=[l.strip() for l in f]
toDel=[]
for file in set(files):
with open(file, 'r+') as t: #open specific file
for line in t:
v,w = line.split()[0:2] #try to specify lines and columns
if type(v) == int and type(w) == float: #check only lines in specific format
if int(v)==1000021 and float(w)<2.5 or float(w)>3: #arbitrary values which will ensure deletion of test file
toDel.append(file)
else:
some command to go to next line
else:
some command to go to next line
for file in set(toDel):
os.remove(file) #delete files
print 'Delete:"{}"'