为什么我们必须在python函数中多次打开文件?

时间:2018-07-13 19:41:11

标签: python python-3.x

a = open("prime_numbers.txt", 'r+')
b = open('happy_numbers.txt','r+')
c = a.read().split()
d = b.read().split()
def overlap(list1,list2):
    e= open('final_number_list.txt','r+')
    for i in list1:
       for j in list2:
           if i == j:
             e.write(i+'\n')
           else:continue
    e = open('final_number_list.txt', 'r+')
    print(e.read().split())
overlap(c,d)

为什么我必须第二次使用open命令?如果我第二次不使用它,则命令overlay(c,d)将打印一个空列表,但使用它会给出正确的结果。

1 个答案:

答案 0 :(得分:0)

每次调用read()时,它都会前进文件位置指针。如果愿意,可以在文件对象上调用seek(0),这会使文件位置指针重新回到开头。