我需要在一个文件上循环两次。第一次检查是否有一些关键词。 第二次根据之前的检查结果在文件中添加一些信息。在
我使用fileinput模块,这样我就可以有一个fileinput.lineno()
来决定在哪一行中添加我的信息。在
fileinput的典型用法是
import fileinput
for line in fileinput.input():
process(line)
所以我必须打开文件两次。在
我的档案是这样的
^{pr2}$我的文件中有带AW关键字或完全没有AW函数的函数。我需要用代码检查这个函数。在
这就是我所拥有的
for line in fileinput.input('file1.txt'):
if '#define' in line: # there is at least one '#define' in that file
writePoint = fileinput.lineno() + 1
elif 'AW' in line:
writePoint = fileinput.lineno() + 1
for line in fileinput.input('file1.txt'):
if writePoint == fileinput.lineno() :
###generate a new line here
print new_line
print line,
open
返回的file对象不提供行号,并且具有用于重新定位的fseek
函数,而fileinput
模块有一个行号,但没有fseek
函数。在
有没有更好的方法只打开一个文件?在
目前没有回答
相关问题 更多 >
编程相关推荐