繁体   English   中英

file.open无法按照我认为的方式工作

[英]file.open does not work the way I thought it should

我的代码是这样的:

self.data = open("/myData", "a")
self.data.close()

self.data = open ("myData", "r")


    self.master = Tk()       
    if (self.data.read()is not None):
        print 2
        print self.data.readlines()
        print 1

我通常在2和1之间得到空白打印。

我确实知道myData中写了一些东西。 我尝试了其他打开myData的方法,例如

self.data = open ("/myData", "r")

这使我“权限被拒绝”(是的,我确实对该文件具有读写权限,因此我检查了该权限)

self.data = open ("/game-engineering/myData", "r")

这给了我“找不到文件”。

我在犯一些愚蠢的路径错误吗? 我确实知道该文件不是空的,如果手动打开它,我会看到其中的内容。

当您调用read ,您将“消耗”该文件(光标移至文件末尾)-因此,当调用readlines时,它将立即命中EOF,从而返回一个空列表。

在大多数情况下(带有读取行),您可以直接使用它,因为如果文件为空,您将得到一个空列表,因此无论如何您都永远不会输入迭代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM