Python pyc文件上写着;源代码字符串不能包含空字节"; 上下文
我使用Python pyc文件上写着;源代码字符串不能包含空字节"; 上下文,python,python-3.x,bytecode,Python,Python 3.x,Bytecode,我使用vim和编码utf-8在macOS上编写了这个脚本1.py 导入系统 sys.path+=['./模块'] 来自_模块。_信号导入* 然后使用 python3-mpy\u编译1.py 字节码\uuu pycache\uuu/1.cpython-39.pyc可以通过 python3\uuupycache\uuuu/1.cpython-39.pyc 没问题 问题 众所周知,字节码是跨平台的。因此,我将.pyc发送到Windows 10 这是目录树 1/#我们首先到了这里。 └ 2/ └
vim
和编码utf-8
在macOS上编写了这个脚本1.py
导入系统
sys.path+=['./模块']
来自_模块。_信号导入*
然后使用
python3-mpy\u编译1.py
字节码\uuu pycache\uuu/1.cpython-39.pyc
可以通过
python3\uuupycache\uuuu/1.cpython-39.pyc
没问题
问题 众所周知,字节码是跨平台的。因此,我将
.pyc
发送到Windows 10
这是目录树
1/#我们首先到了这里。
└ 2/
└ 3/
└ __pycache__/
└ 1.cpython-39.pyc
当我执行
python3\uuupycache\uuuu/1.cpython-39.pyc
或
cd2/
python3../\uuuupycache\uuuuu/1.cpython-39.pyc
它可以工作(与importorror
)
但是如果我执行
cd3/
python3../\uuuupycache\uuuuu/1.cpython-39.pyc
它意外地失败了。以下是输出:
Traceback (most recent call last):
File "1.py", line 3, in <module>
ValueError: source code string cannot contain null bytes
回溯(最近一次呼叫最后一次):
文件“1.py”,第3行,在
ValueError:源代码字符串不能包含空字节
为什么??这是虫子吗
我在macOS和Arch Linux上采取了相同的步骤,没有问题。只有Windows 10出现此错误
环境
(适用于macOS、Linux和Windows 10)Python 3.9.4
- 大苏尔马科斯酒店
- Windows10(已测试cmd、powershell和Cygwin)
2
或3
文件夹中是否有任何东西可能干扰Python的操作(例如,一个散乱的1.py
文件)?@Blckknght2
和3
之间的区别只是它们的名称。由于只传输.pyc
文件,因此不存在杂散的1.py
。我无法重现您的错误消息。我很高兴我这么做了,但事实上我正试图用对解释器的命令行调用中的-mpy\u compile
第二次编译.pyc
文件。我会再次检查你是否真的在运行你认为正在运行的程序,因为这个问题对我来说没有任何意义。