Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 无法运行特定的.pyc文件_Python_Pyc - Fatal编程技术网

Python 无法运行特定的.pyc文件

Python 无法运行特定的.pyc文件,python,pyc,Python,Pyc,在使用编译unix中工作的python文件之后 import py_compile py_compile.compile('server.py') 我在同一个目录中得到了.pyc文件,但是当我尝试在putty中使用“./server.pyc”运行这个文件时,我得到的只是作为输出的加扰代码,实际上什么都没有发生 所以问题是,如何将.py文件正确编译为.pyc文件,以及如何运行这个.pyc文件 ps:我测试了编译和运行一个基本脚本,这很有效。运行第一个命令来生成server.pyc文件。然后第二个

在使用编译unix中工作的python文件之后

import py_compile
py_compile.compile('server.py')
我在同一个目录中得到了.pyc文件,但是当我尝试在putty中使用“./server.pyc”运行这个文件时,我得到的只是作为输出的加扰代码,实际上什么都没有发生

所以问题是,如何将.py文件正确编译为.pyc文件,以及如何运行这个.pyc文件


ps:我测试了编译和运行一个基本脚本,这很有效。

运行第一个命令来生成server.pyc文件。然后第二个命令可以运行server.pyc模块。python文档中描述了和

python -c "import server"
python -m server

编译python文件不会生成可执行文件,这与C不同。您必须使用python解释器解释编译后的python代码

$ python
>>> import py_compile
>>> py_compile.compile('server.py')
>>> ^D
$ python ./server.pyc

编译后的Python代码唯一的变化是加载时间稍微缩短。Python解释器在加载代码时已经编译代码了,这根本不需要很长时间。

@MarwanAlsabbagh:然后修复它。你还没告诉我它在哪里,我也不喜欢玩游戏。@DietrichEpp谢谢!我知道这是一个古老的答案,但仍然值得更多的投票,再次感谢你的帮助,真的让我高兴。有没有一个好的理由不直接执行源代码
.py
文件?也许有些理由还不够好,但将py转换为pyc是一种混淆,这是一种非常弱的混淆,但总比什么都不做要好。pyc文件还节省了将py编译为字节码所花费的时间,因此程序在第一次启动时会稍微快一点。启动Python程序的
-m
方法非常好,因为它同时适用于pyc和py文件。即使以仅pyc的形式部署程序,该命令仍然有效。