如果这只是一个愚蠢的错误,我很抱歉,因为我对 Python 或编程经验很少。 pickle.dump(code, output) 不喜欢我给出的参数。我该如何解决这个问题?
这是将我的文件输出到 lexer_output.txt 的示例代码:
global output
output = open ("C:\\Users\Asher\Documents\BUSlang\lexer_output", "w")
pickle.dump(code, output)
错误是
"TypeError: write() argument must be str, not bytes"
变量code
是在脚本前面的code=meta.read()
处定义的。没有其他错误。
最佳答案
该错误消息不是很有帮助。经过一番尝试和错误后,我让它可以使用
output = open("C:\\Users\Asher\Documents\BUSlang\lexer_output", "wb")
即您要写入的输出文件必须以二进制模式打开。
另一个注意事项:我不确定您为什么使用全局输出
,在您的示例代码中不需要它。
关于python - Lexer 在 Python 中输出 "TypeError: write() argument must be str, not bytes"。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35956841/