python - Lexer 在 Python 中输出 "TypeError: write() argument must be str, not bytes"。我究竟做错了什么?

标签 python lexer

如果这只是一个愚蠢的错误,我很抱歉,因为我对 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/

相关文章:

parsing - 对多行 ANTLR 重复相同的规则

php - Twig 词法分析器 : add delimiter

python - TensorFlow 中的一切都是 Tensor,包括操作吗?

python - 匹配正则表达式中的字符串段

python - 从字符串中删除前x个字符?

php - 是否有 Javascript 词法分析器/分词器(在 PHP 中)?

c - 阻止词法分析器读取文件中的第一个字符

java - 手动编写命题逻辑解析器

python - 对话框中的 wx.DatePickerCtrl 忽略在 wxGTK 上按回车键后输入的值

python - 在 Python 中从文件名中提取文件扩展名的方法是什么?