zhrs1013 发表于 2020-7-26 17:14:03

f.close()报错

f = open('D:\\record.txt.txt',encoding = 'utf-8').read()
for each_line in f:
        print(f)
f.close()

AttributeError: 'str' object has no attribute 'close'

请教,怎么解决。谢谢。

zltzlt 发表于 2020-7-26 17:17:01

本帖最后由 zltzlt 于 2020-7-26 17:18 编辑

把第一行的 .read() 删除,变成这样:

f = open('D:\\record.txt.txt',encoding = 'utf-8')
for each_line in f:
      print(f)
f.close()

如果照你的代码 f 就变成一个字符串了,而字符串是没有 .close() 方法的

aaron.yang 发表于 2020-7-26 17:17:58

f = open("D:\\record.txt.txt",encoding='utf-8')
s = f.read()
for each_line in s:
    print(s)
s.close()

zltzlt 发表于 2020-7-26 17:18:38

aaron.yang 发表于 2020-7-26 17:17


你这样写也不行呀

aaron.yang 发表于 2020-7-26 17:20:29

zltzlt 发表于 2020-7-26 17:18
你这样写也不行呀

呃......{:10_245:}

zhrs1013 发表于 2020-7-26 17:24:07

aaron.yang 发表于 2020-7-26 17:17


还是报同样的错啊

zhrs1013 发表于 2020-7-26 17:25:01

zltzlt 发表于 2020-7-26 17:17
把第一行的 .read() 删除,变成这样:




如果报read去掉,结果显示为:
<_io.TextIOWrapper name='D:\\record.txt.txt' mode='r' encoding='utf-8'>
<_io.TextIOWrapper name='D:\\record.txt.txt' mode='r' encoding='utf-8'>
<_io.TextIOWrapper name='D:\\record.txt.txt' mode='r' encoding='utf-8'>
<_io.TextIOWrapper name='D:\\record.txt.txt' mode='r' encoding='utf-8'>

zltzlt 发表于 2020-7-26 17:25:55

zhrs1013 发表于 2020-7-26 17:25
如果报read去掉,结果显示为:

这样试试:

f = open('D:\\record.txt.txt',encoding = 'utf-8')
for each_line in f:
      print(each_line)
f.close()

aaron.yang 发表于 2020-7-26 17:26:36

f = open("D:\\record.txt.txt",encoding='utf-8')
s = f.read()
for each_line in s:
    print(s)
f.close()

zhrs1013 发表于 2020-7-26 18:28:21

aaron.yang 发表于 2020-7-26 17:26


这样可以了,谢谢。
我看小甲鱼老师的视频里,直接这样写,他那里没事,我这里就报错了{:5_109:}
页: [1]
查看完整版本: f.close()报错