我在阅读2组文件时遇到问题。我使用模块fileinput
,因为我需要在生产中读取两组文件。
当我尝试重置第二个循环中第二个文件的句柄时出现问题:
fileC = fileinput.FileInput()
#with sys.stdin as fileC, open(filenameA,'r') as fileA:
#lineC = sys.stdin.readline()
for lineC in fileC:
fieldC = lineC.split('#')
#set the pointer to the begining of fileA
fileA = fileinput.FileInput(glob.glob(locationA2))
#Initialize p to 0
p = 0
for lineA in fileA:
fieldA = lineA.split('#')
#Write all the element that have no corresponding conversion
if (fieldA[0] == fieldC[0]) and (fieldA[2] == fieldC[2]) and (fieldA[1] < fieldC[1]):
p = 1
if p == 0:
#outputfile.write(lineC)
sys.stdout.write(lineC)
fileA
在第一个for
循环中定义,因为我无法找到fileA.seek(0)
的替代,因为它不适用于FileInput
。问题是FileInput()
处于循环中并且没有及时优化。
对此有什么想法吗?
由于