我从POST请求中获取base64编码的字符串。解码后,我想将其存储在文件系统中的特定位置。所以我写了这段代码,
try:
file_content=base64.b64decode(file_content)
with open("/data/q1.txt","w") as f:
f.write(file_content)
except Exception as e:
print(str(e))
这正在/ data /创建文件,但是该文件为空。它不包含解码的字符串。没有权限问题。 但是当我不是file_content时,向文件写入“ Hello World”。这是工作。为什么python无法将base64解码的字符串写入文件?它也不会引发任何异常。处理base64格式时,我需要注意些什么吗?
答案 0 :(得分:2)
此行返回字节:
file_content=base64.b64decode(file_content)
在python3中运行此脚本,它返回以下指令:
write()参数必须为str,而不是字节
您应该将字节转换为字符串:
b"ola mundo".decode("utf-8")
尝试
import base64
file_content = 'b2xhIG11bmRv'
try:
file_content=base64.b64decode(file_content)
with open("data/q1.txt","w+") as f:
f.write(file_content.decode("utf-8"))
except Exception as e:
print(str(e))