qq_27834949 2021-11-01 16:03 采纳率: 72.7%
浏览 17
已结题

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

为什么可以运行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

  • 写回答

1条回答 默认 最新

  • Fioman_Hammer 2021-11-01 16:21
    关注

    跟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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月10日
  • 已采纳回答 11月2日
  • 创建了问题 11月1日