首页 > 解决方案 > Python 3 不会将附加数据读取到文件中

问题描述

我正在尝试将二进制数据写入文件。程序将首先检查文件是否存在。如果文件不存在,程序将创建文件并将数据写入其中。如果确实存在,则数据将附加到文件中。然而,当我尝试读取文件时,我无法读取附加数据,只能读取首次创建文件时写入的数据。

def getText(self):
    self.readKey()
    st = self.inBox.get('1.0', 'end')

    fen = Fernet(self.readKey())
    encrypted = fen.encrypt(st.encode())
    return encrypted

def writeFile(self):

    if (os.path.exists('data.txt') == False):
        file = open('data.txt',mode='wb' )
        file.write(self.getText())
        file.close()
    else:
        file = open('data.txt',mode='ab' )
        #sts = file.read()


        file.write(self.getText())
        file.close()


    self.inBox.delete('1.0','end')




def openFile(self):
    self.outBox.delete('1.0','end')

    fen = Fernet(self.readKey())     

    try:
        f = open("data.txt", mode='rb')
    except:
        alert_popup(self,'Error','No File Exists')


    self.outBox.insert(tk.END, fen.decrypt(f.read()))

标签: python-3.x

解决方案


使用模式“a”。

if (os.path.exists('data.txt') == False):
    file = open('data.txt',mode='a' )
    file.write(self.getText())
    file.close()

推荐阅读