如何从stdin向python解释器提供字节码?

如何从stdin向python解释器提供字节码?,python,bytecode,Python,Bytecode,我知道我可以从stdin运行python脚本,如下所示: python - < script.py 但我无法从stdin运行编译后的python文件: python - < script.pyc SyntaxError: Non-UTF-8 code starting with '\xee' in file <stdin> on line 1, but no encoding declared; see http://python.org/dev/peps/pep-02

我知道我可以从stdin运行python脚本,如下所示:

python - < script.py
但我无法从stdin运行编译后的python文件:

python - < script.pyc
SyntaxError: Non-UTF-8 code starting with '\xee' in file <stdin> on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
python-

显然,我必须告诉解释器这是字节码。但是怎么做呢?

字节码不应该作为标准输入传递。它包含仅由pyhon解释器运行的可执行代码,在它之外,它只是胡言乱语。基本上,当您试图将文件作为stdin传递时,它会被视为文本,因此会出现错误。py文件是文本格式的,因此它可以像文本一样安全地解析并正确执行

从您的代码示例中,我将假设您正在尝试从bash控制台(Linux中的行)运行该文件,因此正确的方法确实是:

python script.pyc

这也是您也尝试过的。

所以答案是:使用stdin是不可能的?我想是的。当解释为文本时,字节码没有任何意义。
python script.pyc