博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python (2) 之 pyc
阅读量:5097 次
发布时间:2019-06-13

本文共 795 字,大约阅读时间需要 2 分钟。

最近在编写Python脚本过程中遇到一个问题比较奇怪:Python脚本正常的,但执行报错"AttributeError: 'module' object has no attribute 'xxx'",其实是.pyc文件存在问题。

问题定位:查看import库的源文件,发现源文件存在且没有错误,同时存在源文件的.pyc文件
问题解决方法:删除该库的.pyc文件,重新运行代码;或者找一个可以运行代码的环境,拷贝替换当前机器的.pyc文件即可

示例:

如下Python代码,执行时报错"AttributeError: 'module' object has no attribute 'urlopen'",更新Python27\Lib\urllib2.pyc文件后,即可正常运行。

1   import urllib22   url = "http://www.baidu.com"3   f = urllib2.urlopen(url, timeout=5).read() 4   print len(f)

pyc文件介绍

pyc文件,是python编译后的字节码(bytecode)文件。只要你运行了py文件,python编译器就会自动生成一个对应的pyc字节码文件。这个pyc字节码文件,经过python解释器,会生成机器码运行(这也是为什么pyc文件可以跨平台部署,类似于java的跨平台,java中JVM运行的字节码文件)。下次调用直接调用pyc,而不调用py文件。直到你这个py文件有改变。python解释器会检查pyc文件中的生成时间,对比py文件的修改时间,如果py更新,那么就生成新的pyc。
flags: OFPC_FRAG_NORMAL (0x00000000)

转载于:https://www.cnblogs.com/linengier/p/9400384.html

你可能感兴趣的文章
Function Graphics
查看>>
Node07 - 文件上传
查看>>
一个oracle存储过程
查看>>
.NET MVC伪静态
查看>>
100 个最常用的 PHP 函数
查看>>
88. Merge Sorted Array java solutions
查看>>
347. Top K Frequent Elements java solutions
查看>>
面试总结
查看>>
EL表达式
查看>>
5:练习题
查看>>
【转帖】快学正则表达式
查看>>
bzoj 1070: [SCOI2007]修车 -- 费用流
查看>>
Tomcat设计模式
查看>>
BZOJ1041 HAOI2008圆上的整点(数论)
查看>>
GitHub详细教程
查看>>
分布式事务、两阶段提交协议、三阶提交协议
查看>>
差分约束
查看>>
UINavigationCountroller pop到指定界面
查看>>
NoSQL相关数据库
查看>>
安卓扁平化之路专题(四)Material Design
查看>>