Python read()函数返回空字符串 [英] Python read() function returns empty string

查看:850
本文介绍了Python read()函数返回空字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

  open(file,r)。read()$ b有时它以字符串的形式返回文件的确切内容,有些时候它返回一个空字符串(偶数)如果文件不是空的)。 
有人可以解释这是依赖于什么?

解决方案

当您到达文件结尾(EOF)时, .read 方法返回',因为没有更多的数据可读。

 >>> f = open('my_file.txt')
>>> f.read()#你读完整个文件
'我的文件有数据'
>>> f.read()#你已经到达文件的末尾
''
>>> f.tell()#给我当前位置的文件
17
>>> f.seek(0)#返回起始位置
>>> f.read()#再次读取文件
'My File has data。'

文件链接: read() tell() seek ()


注意:如果第一次读取文件时发生这种情况,该文件不是空的。如果不是在阅读之前尝试加载 file.seek(0)



If I type this in Python:

open("file","r").read()

sometimes it returns the exact content of the file as a string, some other times it returns an empty string (even if the file is not empty). Can someone explain what does this depend on?

解决方案

When you reach the end of file (EOF) , the .read method returns '', as there is no more data to read.

>>> f = open('my_file.txt')
>>> f.read() # you read the entire file
'My File has data.'
>>> f.read() # you've reached the end of the file 
''
>>> f.tell() # give my current position at file
17
>>> f.seek(0) # Go back to the starting position
>>> f.read() # and read the file again
'My File has data.'

Doc links: read() tell() seek()

Note: If this happens at the first time you read the file, check that the file is not empty. If it's not try putting file.seek(0) before the read.

这篇关于Python read()函数返回空字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆