我有一个永不退出的简单例程
import sys
infile = sys.argv[1]
outfile = sys.argv[2]
count=1
print 'Input file is ', infile
print 'Output file is ', outfile
instream = open(infile,'r')
while True:
line=instream.readline()
if line[0:5]=='<?xml':
print 'new record', count
count=count+1
if line == "eof":
print 'end'
break
这会读取内场......但永远不会结束。我需要做什么?
答案 0 :(得分:0)
readline()
没有返回字符串eof
来表示文件的结尾;它返回空字符串。 (注意readline
会保留终止每一行的换行符,因此空白行将表示为'\n'
;因此,真正的空白行只能表示剩下 no 数据。 )
你可以写
while True:
line = instream.readline()
# ...
if line == "":
break
但通常只是将文件视为迭代器:
for line in instream:
if line[0:5] == '<?xml':
print 'new record', count
count = count + 1