为什么在这里判断字符串是否在句柄内是可行的呢

为什么可以运行for内的部分呢?

file_name="documents\pi.txt"
with open(file_name) as find:
    for line in find:
        print(line)

运行结果:
3.141592653589

793238462643383

279502884197169

3993751058209749

44592307816406286

208998628034825342

跟find对象的内部实现有关,它也是一个可迭代的对象


fileName = r"C:\Users\wq\Desktop\hebingExcel\abc.txt"
with open(fileName) as find:
    print(dir(find)) # 可以看到里面有__iter__和__next__方法,证明find对象也是可迭代的
    print(find.__next__()) # 取下一项元素,这个跟它内部的实现有关.但是不建议这么用

结果:

img

如果觉得答案对你有帮助,请点击下采纳,谢谢~