源代码字符串不能包含空字节

时间:2017-11-16 18:31:24

标签: python null syntax-error

所以我有676行程序,现在我在打开文件时遇到了一个问题,我的所有代码都已消失,所以这次我做了备份。但是,当我尝试复制并粘贴我的备份代码然后运行它时,它会给我这个语法错误:

"源代码字符串不能包含空字节"

当我第一次进行备份并且程序运行正常时,没有显示。我真的不想通过676行重做这一切。 对于Python来说,我是一个非常基本的程序员。

我已经尝试删除所有空格和注释/#(红色背景颜色位于#的末尾) 已经查看了所有代码,它确实没有错误。

1 个答案:

答案 0 :(得分:2)

问题很可能就是错误信息告诉你的内容:你的备份副本以某种方式被感染了#34;带有一个或多个空字节(ASCII值为00)。将您的代码一次粘贴一个块 - 比如50行 - 以查找包含非法字节的代码。删除最近添加的代码,可能一次删除5行,以查找具有空字节的代码。重新输入有问题的行,然后继续下一行。

另一种可能性是编写一个简单的Python脚本来读取文件并使用字符串replace方法删除空字节:

with open("homework.py", 'r') as infile:
    hw = infile.readlines().replace(chr(0), '')

现在关闭文件,再次打开文件,然后将hw变量转储给它。