【问题标题】:Attempting to write to file spits out nothing尝试写入文件什么也没有
【发布时间】:2021-10-02 22:50:52
【问题描述】:

当尝试在 python 中读取文件时,它似乎只打印出一个空格而不是“测试消息”,这是我的代码:

contents = "Test Message"

def readAndWritetofile():
    with open("file.txt", 'w+') as file:
        file.write(contents)
        print(file.read())

    
    
readAndWritetofile()

【问题讨论】:

标签: python file write


【解决方案1】:

你忘了

file.seek(0)

第 6 行之前

【讨论】:

    【解决方案2】:

    写入后,文件指针位于文件末尾。您可以回到起点或重新开始。

    contents = "Test Message"
    
    def readAndWritetofile():
        with open("file.txt", 'w+') as file:
            file.write(contents)
            file.seek(0)
            print(file.read())
    
    readAndWritetofile()
    

    contents = "Test Message"
    
    def readAndWritetofile():
        with open("file.txt", 'w') as file:
            file.write(contents)
            # exit the with closes the file
        with open("file.txt") as file:
            print(file.read())
    
    readAndWritetofile()
    

    【讨论】:

      【解决方案3】:

      您应该添加file.seek(0)。如果您忘记了这一点,file.read() 调用将尝试从文件末尾读取,并返回一个空字符串。

      当前,指针位于文件末尾。 file.seek(0)将其移至文件开头。

      contents = "Test Message"
      
      def readAndWritetofile():
          with open("file.txt", 'w+') as file:
              file.write(contents)
              file.seek(0)
              print(file.read())
      
      readAndWritetofile()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-13
        • 2021-09-08
        • 1970-01-01
        • 2013-12-27
        • 2021-05-30
        相关资源
        最近更新 更多