Python как записать байты в файл .txt - PullRequest
0 голосов
/ 16 марта 2020

У меня есть программа, которая помещает вашу строку в байты и каждый раз записывает ее на новую строку. По некоторым причинам, это не делает этого. Это дает мне:

File "c:/InstaBots/password.py", line 44, in store
    file.write(encrypted_data + '\n')
TypeError: can't concat str to bytes

Вот код:

with open("passwords.txt", "rb") as file:
    file_data = file.read()
    encrypted_data = f.encrypt(file_data)
    decoded = encrypted_data.decode()
    print(encrypted_data)
with open("passwords.txt", "wb") as file:
    file.write(encrypted_data + '\n')

Есть идеи, почему он не будет преобразован? Я вынул '/ n', предполагая, что так оно и будет, но потом он перезаписывает себя каждый раз, когда я запускаю программу. Если это проблема, как бы я записал байты в новую строку?

Ответы [ 2 ]

1 голос
/ 16 марта 2020

Ваш код в конце должен быть:

with open("passwords.txt", "ab") as file:
    file.write(b'\n'+encrypted_data + b'\n')
1 голос
/ 16 марта 2020

Вам необходимо преобразовать \n в байты.

file.write(encrypted_data + bytes('\n'))
...