我有点困惑为什么下面的代码片段在第二次读取同一个文件时返回正确的输出:
textCont = "Hello World"
print("Original content of the file")
print(open(filename).read())
textFile = open(filename, "w")
textFile.write(textCont)
print("New file content:")
textFile = open(filename)
print(textFile.read())
textFile.close()
其中filename是包含一些现有数据的文件。该文件将被读取、覆盖,然后再次读取。
在上面的例子中,同一个变量被用于以写入模式打开文件,然后以读取模式打开文件。这工作正常并在第二次读取时提供正确的输出(显示已覆盖前一个的内容)
但是以下版本的代码不起作用:
textCont = "Hello World"
print("Original content of the file")
print(open(filename).read())
textFile = open(filename, "w")
textFile.write(textCont)
print("New file content:")
textFile_1 = open(filename)
print(textFile_1.read())
textFile.close()
textFile_1.close()
当第二次使用用于以写入模式打开文件的变量以外的变量完成读取时,它返回一个空字符串。
我知道当第二次读取同一个文件时,它返回一个空字符串。但是为什么第一种情况下的代码返回正确的输出呢?
谁能对此提供适当的解释?
芜湖不芜
慕容708150
相关分类