file.open不像我想象的那样工作

时间:2013-03-11 00:08:06

标签: python file

我的代码是:

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")

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

我犯了一些愚蠢的错误吗?我确实知道该文件不是空的,如果我手动打开它,我会看到那里有什么。

1 个答案:

答案 0 :(得分:3)

当你调用read时,你“消耗”了文件(光标移动到文件的末尾) - 所以当调用readlines时它会立即点击EOF,这样就会返回一个空列表

在大多数情况下(使用readlines),您可以直接使用它,因为如果文件为空,您将获得一个空列表,因此您永远不会输入迭代。