当前位置: 首页 > 知识库问答 >
问题:

在Python中使用readline()读取文件的正确条件

严兴旺
2023-03-14

我理解下面的代码可以正常工作。在阅读Python中的while循环文档时,他们说while表达式应该是True或False,这很有意义。

现在,readline()函数返回字符串。那么这个while循环是如何工作的呢?

with open(datafile, "r") as f:
        line = f.readline();
        while line :
            print line
            line = f.readline()
            data.append(line)
        print line
    return data

共有2个答案

潘弘壮
2023-03-14

Python中等于"的字符串将求值为False,而任何不为空的字符串将求值为True

#Evaluates to False
print(bool(""))

#Evaluates to True
print(bool("A String"))

在您指定的循环中,如果有一行被成功读取,字符串line将不会为空,因此将计算为True。一旦有一行没有读入字符串,字符串line将设置为False,循环应退出。

虞正业
2023-03-14

当在布尔上下文中使用时,许多对象解析为TrueFalse,在本例中包括一个空字符串。数字零、空元组、列表、集合和字典也是False

类可以通过提供\uuubool\uuuu方法(或Python 2中的\uu非零\uuuu来决定对象何时/是否为TrueFalse)。虽然有时真理与一个物体无关。

另请参见在python中定义类的"boolness"

 类似资料:
  • 好的,正如标题所示,我的问题是正确地从python中的windows-1252编码文件中读取输入,并将所述输入插入SQLAlchemy MySql表。 当前系统设置: Windows 7虚拟机,带“罗杰访问控制系统”,输出文件 Ubuntu12.04 LTS虚拟机,带有Windows系统的共享文件夹,因此我可以使用“Python 2.7.3”访问该文件。 现在来看实际问题,对于输入文件,我有一个“

  • 我有以下代码来读取java文件,并打印出行。我通过两种方式实现了它: 使用流: 使用循环: 我被告知这是错误的,使用缓冲读取器是错误地使用了语言的特性。有没有更好的方法,我想知道使用语言功能的正确方法。

  • 本文向大家介绍python中readline判断文件读取结束的方法,包括了python中readline判断文件读取结束的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python中readline判断文件读取结束的方法。分享给大家供大家参考。具体分析如下: 大家知道,python中按行读取文件可以使用readline函数,下面现介绍一个按行遍历读取文件的方法,通过这个方法,展开我们

  • 问题内容: 使用GoogleAppEngine(Go)读取文件的正确方法是什么? 在Java中,我读到了,是否有等效的功能? 问题答案: 您可以从App Engine上的文件中读取文件,也可以从计算机上运行的Go应用程序中的文件中读取文件。 注意事项: 您应该使用 相对 文件路径,而不是绝对路径。工作目录是应用程序的根文件夹(文件所在的位置)。 Go代码只能读取属于 应用程序 文件的文件,因此,如

  • 问题内容: 我无法弄清楚/的运作方式。我对此有些了解,但无法使其正常工作。 我知道我可以使用,但是如果这样做,我知道我永远不会理解/ 我只会埋葬这个问题。 目标:调用并返回文件的内容。 每次调用该文件都会增加一次(每页加载)。该文件包含二进制缓冲区的转储,并存储在SSD中。 无论我做什么,都会出现错误或在控制台中。 问题答案: 要使用/,您需要返回承诺的方法。没有包装器,核心API函数就不会这样做

  • demo.yaml definitions.yaml文件数据 我想读取 yaml 文件及其折射数据。 输出结果={content':{application/json':{'schema':{'title':'YamlTitle','type':'object','properties':{'name':{'type':'string','minLength':10,'example':'GANE