在 Python 中,如何使用文件在其中写入字节并作为文本读取

In Python, how to use a file for writing bytes in it and reading as text

我想将字节保存到文件中,然后将该文件作为文本读取。我可以用一个 with 来完成吗?我应该使用什么,wbrwbr

myBytesVar = b'line1\nline2'
with open('myFile.txt', 'wb') as fw:
    fw.write(myBytesVar)

with open('myFile.txt', 'r') as fr:
    myVar = fr.read()
    print(myVar)

如果你想用一个"with":写的时候"wb"就好了。 当你阅读文件时试试看

myvar = open('MyVar.txt', 'r').read()
print(myvar)

这里有一些关于我们应该使用什么模式的信息:

The default mode is 'r' (open for reading text, synonym of 'rt'). For binary read-write access, the mode 'w+b' opens and truncates the file to 0 bytes. 'r+b' opens the file without truncation.

在此处阅读更多内容。 https://docs.python.org/3/library/functions.html#open

如果您已经将其内容存储在 myBytesVar:

中,则无需重新读取该文件
myBytesVar = b'line1\nline2'

with open('myFile.txt', 'wb') as fw:
    fw.write(myBytesVar)

myVar = myBytesVar.decode('utf-8')

编码 Python 假设在没有显式编码的情况下将文件读取为文本 platform-dependent,所以我只是假设 UTF-8 可以工作。