标签: pyc

如果解释Python,什么是.pyc文件?

我已经理解Python是一种解释型语言......然而,当我查看我的Python源代码时,我看到了.pycWindows,它们识别为"编译的Python文件".这些来自哪里?

python compiled interpreted-language pyc

1017
推荐指数
10
解决办法
47万
查看次数

python文件扩展名是什么,.pyc .pyd .pyo代表什么?

这些python文件扩展名是什么意思?

  • .pyc文件
  • .pyd
  • .pyo

它们之间有什么区别?它们是如何从*.py文件生成的?

python pyc

419
推荐指数
2
解决办法
27万
查看次数

156
推荐指数
6
解决办法
24万
查看次数

什么时候.pyc文件刷新?

我知道".pyc"文件是纯文本".py"文件的编译版本,在运行时创建以使程序运行得更快.但是我发现了一些事情:

  1. 修改"py"文件后,程序行为会发生变化.这表示"py"文件已编译或至少通过某种散列过程或比较时间戳来判断是否应重新编译它们.
  2. 删除所有".pyc"文件(rm *.pyc)后,程序行为有时会发生变化.这表明他们没有在".py"更新时编译.

问题:

  • 他们如何决定何时编译?
  • 有没有办法确保他们在开发过程中进行更严格的检查?

python pyc python-internals

84
推荐指数
2
解决办法
5万
查看次数

从Git远程存储库中删除.pyc文件

无意中,我已将.pyc文件推送到主存储库.现在我想删除它们,但我不能这样做.有没有办法直接从Bitbucket网站删除它们?

git pyc

47
推荐指数
4
解决办法
3万
查看次数

更改创建.pyc文件的目录

有没有办法更改.pycPython解释器创建文件的目录?我看到了关于该主题的两个PEP(03043147),但似乎没有在默认解释器中实现(我正在使用Python 3).

我错过了什么 ?

python path pyc python-3.x

31
推荐指数
3
解决办法
1万
查看次数

在bash中输入`ls`时如何隐藏.pyc文件

当我ls在bash中执行时,我总是看到太多*.pyc文件.有没有办法隐藏这些文件?

python linux ls pyc

25
推荐指数
1
解决办法
4832
查看次数

让Python忽略.pyc文件

有没有办法让Python忽略任何存在的.pyc文件,并且总是直接解释所有代码(包括导入的模块)?谷歌没有提出任何答案,所以我怀疑没有,但似乎值得问以防万一.

(为什么我要这样做?我有一大堆Python脚本,它们在几百台计算机的集群上重复运行.Python脚本本身存在于一个共享的NFS文件系统上.不知怎的,很少,在运行了数百台之后几个小时的时间,它们会突然开始崩溃,导致无法导入模块的错误.强制重新生成.pyc文件可以解决问题.当然,我想修复根本原因,但是同时我们还需要系统继续运行,所以如果可能的话,忽略.pyc文件似乎是一个合理的解决方法).

PS我正在使用Python 2.5,所以我不能使用-B.

python pyc

22
推荐指数
3
解决办法
6255
查看次数

在Python 3.4中没有Python源文件运行

我正在尝试运行Python应用程序而不保留.py源文件,只依赖于.pyc编译的文件.但是,当我删除.py源文件时,我收到导入错误.此功能在Python 2.7中有效,但在3.4中没有(使用新__pycache__结构).

这是一个示例目录结构:

package/
  __init__.py
  module.py
Run Code Online (Sandbox Code Playgroud)

Python 2.7

首先让我们看看当我使用Python 2.7时会发生什么(这是所需的行为)

$ python2 -c "from package import module"
$ find package -name "*.py" -delete
$ python2 -c "from package import module"
Run Code Online (Sandbox Code Playgroud)

这一切都很好,不会抛出任何错误.执行此操作后的目录结构如下所示,.pyc文件与原始.py文件一起:

package/
  __init__.pyc
  module.pyc
Run Code Online (Sandbox Code Playgroud)

Python 3.4

现在,让我们用Python 3.4做同样的事情,再次从我们的原始目录结构开始

$ python3 -c "from package import module"
$ find package -name "*.py" -delete
$ python3 -c "from package import module"
 Traceback (most recent call last):
   File "<string>", line 1, in …
Run Code Online (Sandbox Code Playgroud)

python pyc python-3.x

21
推荐指数
2
解决办法
5154
查看次数

为什么导入时会创建.pyc文件?

我已经看到几个资源描述了什么.pyc文件以及它们何时被创建.但现在我想知道为什么在.py导入文件时创建它们?

另外,为什么不.pyc为执行导入的主Python文件创建文件?

我猜这与性能优化和学习有关,这鼓励我打破我的文件,因为内置的编译似乎很好用.但是我不确定是不是这种情况,而且我也很好奇是否有人有关于运行带和不带.pyc文件的程序之间差异的统计数据,如果它确实是速度的话.

我自己运行它们但是我没有一个好的,大的Python代码库来测试它.:(

python bytecode pyc python-internals

20
推荐指数
1
解决办法
4238
查看次数