码迷,mamicode.com
首页 > 编程语言 > 详细

二、如何解决:python:Can't reopen .pyc file

时间:2020-03-20 12:41:03      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:compile   das   打开   源码   新建   反编译   生成   blog   工作   

  如何解决:python:Can‘t reopen .pyc file

 

  pyc文件是python在编译过程中出现的主要中间过程文件。pyc文件以二进制形式存在,可以由python虚拟机直接执行的程序。通过生成.pyc文件可以提高程序运行的速度,编译过的.pyc程序代码也相当于转换了源代码,提高源码加密性。当然了,反编译还是存在的,但是还是可以一定程度上对程序进行包装,反编译程序也费时费力,工作量大。

  我们可以使用如下格式运行*.py文件来生成*.pyc文件(*为文件名;path文根目录路径): 

  python -m py_compile path/*.py
 
  C#调用Python的方法不变,我们替换掉原有的.py文件,对.pyc文件进行调用。程序无反馈,输出流数据无获取。
  python.exe打不开.pyc文件?为了验证这点,我们通过CMD命令行验证一下。
技术图片

   从上图可以看出,python.exe直接打开.py文件正常,打开编译过的.pyc报错,错误原因:python: Can‘t reopen .pyc file

  这个就奇怪了,从原理上讲,直接运行.pyc程序是没有问题了。用度娘查找了一些资料,一度怀疑是生成的.pyc文件有问题。

  最后,在偶然的情况下试着直接锁定到文件根目录,没问题了。

技术图片

 

  想起来有可能是存在中文的路径的问题,试着把文件放在桌面,没问题 (┬_┬),再新建个新建文件夹放置文件,果然又有问题了。

  总结:C#调用py文件路径给的存在中文没问题,但是.pyc文件路径有中文就会报错。有点意思,以后尽量少用中文命名。

 

 

 

———————————————————————————————————————————

   pyc文件详细说明可以参考:https://www.cnblogs.com/blili/p/11799483.html

   反编译可以参考:https://www.cnblogs.com/blili/p/11804517.html

二、如何解决:python:Can't reopen .pyc file

标签:compile   das   打开   源码   新建   反编译   生成   blog   工作   

原文地址:https://www.cnblogs.com/ludage/p/12530743.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!