我的代码是:
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")
这给了我“找不到文件”。
我犯了一些愚蠢的错误吗?我确实知道该文件不是空的,如果我手动打开它,我会看到那里有什么。
答案 0 :(得分:3)
当你调用read
时,你“消耗”了文件(光标移动到文件的末尾) - 所以当调用readlines
时它会立即点击EOF,这样就会返回一个空列表
在大多数情况下(使用readlines),您可以直接使用它,因为如果文件为空,您将获得一个空列表,因此您永远不会输入迭代。