我想将字节保存到文件中,然后将该文件作为文本读取。我可以用一个with
来做吗?我应该使用什么,wb
,r
或wbr
?
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)
答案 0 :(得分:2)
如果您已将其内容存储在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可以正常工作。
答案 1 :(得分:0)
如果你想用一个“with”来做:当你写它时“wb”是好的。 当你阅读文件时试试吧
myvar = open('MyVar.txt', 'r').read()
print(myvar)
答案 2 :(得分:0)
以下是我们应该使用的模式的一些信息:
默认模式为' r' (打开阅读文本,' rt'的同义词)。对于 二进制读写访问,模式' w + b'打开并截断文件 到0字节。 ' R + B'打开文件而不截断。
在这里阅读更多内容。 https://docs.python.org/3/library/functions.html#open