我从 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))
Run Code Online (Sandbox Code Playgroud)
这是在 /data/ 创建文件,但文件是空的。它不包含解码的字符串。没有权限问题。但是当我不是 file_content 将“Hello World”写入文件时。这是工作。为什么python无法将base64解码的字符串写入文件?它也没有抛出任何异常。处理 base64 格式时有什么需要注意的吗?
Luc*_*nde 13
这一行返回字节:
file_content=base64.b64decode(file_content)
Run Code Online (Sandbox Code Playgroud)
在 python3 中运行这个脚本,它返回这个执行:
write() 参数必须是 str,而不是字节
您应该将字节转换为字符串:
b"ola mundo".decode("utf-8")
Run Code Online (Sandbox Code Playgroud)
尝试一下
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))
Run Code Online (Sandbox Code Playgroud)