首页 > 解决方案 > 无法在 Pycharm 的 Python 代码中找到空字节?

问题描述

在复制/粘贴代码期间,我经常null在 Python 代码中得到字节。Python 本身报告针对模块的一般错误,并且没有指定空字节的位置。我选择的 IDE(如 PyCharm)没有对此进行检查,也没有在代码中看到空字节。

那么,null在 Python 代码中查找字节的一般方法是什么?


λ cat main.py
import helloworld
λ cat helloworld.py
print('Hello world! ')
λ python main.py
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import helloworld
ValueError: source code string cannot contain null bytes

λ python helloworld.py
  File "helloworld.py", line 1
    print('Hello world!
                      ^
SyntaxError: EOL while scanning string literal

λ cat -A helloworld.py
print('Hello world!^@')

标签: pythonnullpycharm

解决方案


该问题可能是由复制/粘贴引起的,因为很难在键盘上键入这样的字符。

那么,在 Python 代码中查找空字节的一般方法是什么?

恕我直言,无需每次都检查源代码中的 NUL 字符。我使用源代码已经超过 10 年了,我从来没有遇到过这样的复制/粘贴问题,即使我对许多原型和 MCVE 使用复制/粘贴。

因此,检查源代码的触发器正是一条错误消息,例如来自 Python 的错误消息。

使用哪个工具?十六进制编辑器,因为它将显示 NUL 字符。对于 Windows,我的选择是免费软件HxD

在 HxD 中查找 NUL 字节

在 Linux 上,该命令grep -Pa '\x00' helloworld.py应该没问题。


推荐阅读