从入门到富豪 发表于 2020-6-8 16:21:48

关于读取文件的问题

我写的读取文件的方法
with open('txt.txt','r',encoding='utf-8') as file:
    while file.readline() != '':
      print(file.readline())

打印出来是断续的,具体如下:
今天

超级漂亮的

但是实际上文件内容如下:
我和你在一起骑行
今天
找到
超级漂亮的
摩托啦!

我非常懵逼啊, 这是怎么个读法啊,只读取中间的2行,为什么呢,求大神指点,告知错误点以及如何更改,谢谢!

liuzhengyuan 发表于 2020-6-8 16:23:24

with open('txt.txt','r',encoding='utf-8') as file:
    s = file.readline()
    while s != '':
      print(s)
      s = file.readline()

qiuyouzhi 发表于 2020-6-8 16:25:51

with open('txt.txt','r',encoding='utf-8') as file:   
    while (read := file.readline()) != '':
      print(read)

txxcat 发表于 2020-6-8 16:44:21

readline()运行一次指针就会下移一行,你判断时读一次,打印时候就读的下一行了,也就是说每次循环,指针移动了两行,所以就出现了隔行打印的情况,知道原因了自己可以修改一下代码了,提示:使用变量。
with open('txt.txt','r',encoding='utf-8') as file:
    while file.readline() != '':   #<---readline()读取一次,指针移到下一行
      print(file.readline())      #<---打印的时候readline()读取的是下一次,并且指针移到下一行

从入门到富豪 发表于 2020-6-8 16:52:30

liuzhengyuan 发表于 2020-6-8 16:23


你写的和我后面改的一模一样,赞

从入门到富豪 发表于 2020-6-8 16:53:40

Twilight6 发表于 2020-6-8 16:27


第一行没有打印出来哦,不过也不错。

Twilight6 发表于 2020-6-8 16:55:11

从入门到富豪 发表于 2020-6-8 16:53
第一行没有打印出来哦,不过也不错。

哈哈 我的错 我代码打错了
页: [1]
查看完整版本: 关于读取文件的问题