所以我有 676 行程序,现在我过去在打开文件时遇到了一个问题,我的所有代码都消失了,所以这次我做了备份。但是,当我尝试复制并粘贴备份代码然后运行它时,它会给我以下语法错误:
Source code string cannot contain null bytes
当我第一次进行备份并且程序工作正常时,这没有显示。我真的不想重做676行。在Python方面,我是一个非常基本的程序员。
我已经尝试删除所有空格和注释/#(红色背景颜色位于#的末尾(已经浏览了所有代码,它真的没有错误。
问题可能正是错误消息告诉您的内容:您的备份副本不知何故被一个或多个空字节(ASCII 值 00("感染"了。 一次粘贴一个块的代码(例如 50 行(以查找包含非法字节的代码。 删除最近添加的代码(一次可能 5 行(,以查找具有空字节的代码。 重新键入有问题的行,然后继续下一行。
另一种可能性是编写一个简单的 Python 脚本,该脚本使用字符串replace
方法读取文件并删除空字节:
with open("homework.py", 'r') as infile:
hw = infile.readlines().replace(chr(0), '')
现在关闭文件,再次打开它以获取"w",然后将hw
变量转储到该文件。