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

  如何解决: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

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

时间: 2024-10-03 23:15:34

二、如何解决:python:Can't reopen .pyc file的相关文章

Python编程(二):Python进程、线程那点事儿

多进程,多线程编程 系统程序员.运维开发程序员在面试的时候经常会被问及一个常见问题: 进程是什么,线程是什么,进程和线程有什么区别? 不得不承认,这么多年了.这个问题依旧是个很难以招架的问题,简单地说: 进程和线程有很多类似的性质,他们都可以被CPU作为一个单元进行调度,他们都拥有自己独立的栈(stack)等等.因此线程也被称作LWP(Lightweight Process,轻量级进程):对应的进程也可以被称作为HWP(Heavyweight Process,重量级进程),从线程的角度看,进程就

解决 Python UnicodeDecodeError

在使用django和flask时,发现加载css.js等静态文件时会因为UnicodeDecodeError而失败,在网上搜到了一篇文章,完美解决: 解决方案如下: 编辑Python27\Lib\mimetypes.py文件,全选,替换为以下patch后的正确脚本,或者直接依据此patch修改: """Guess the MIME type of a file.   This module defines two useful functions:   guess_type(

解决Python读取文件时出现UnicodeDecodeError: 'gbk' codec can't decode byte...

用Python在读取某个html文件时会遇到下面问题: 出问题的代码: 1 if __name__ == '__main__': 2 fileHandler = open('../report.html', mode='r') 3 4 report_lines = fileHandler.readlines() 5 for line in report_lines: 6 print(line.rstrip()) 修改方式是在open方法指定参数encoding='UTF-8': if __nam

解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'

导致出错的根源就是编码问题. 解决方案是: 在程序最上面加上: view plai# coding=gbk 这样程序就可以正常运行了. 解决Python代码编码问题 SyntaxError: Non-UTF-8 code starting with '\xc1'

解决Python开发过程中依赖库打包问题的方法

在Python开发的过程中,经常会遇到各种各样的小问题,比如在一台计算机上调试好的程序,迁移到另外一台机子上后往往会应为工程项目依赖库的缺失而造成错误. 除了一遍又一遍对着被抛出错误去重新install各种相关的依赖库,有没有更好的方法来解决Python开发过程中依赖库的打包呢?答案是肯定的. 类似于JavaScript的npm,Python也有它强大的包管理工具--pip,我们可以用pip导出项目中的dependency: 1 $ pip freeze > requirements.txt 然

解决python 提示 SyntaxError: Missing parentheses in call to 'print'

刚刚学习python,练习他的输出,发现输出一个常量时报错了,如下: 发现是因为python2.X版本与python3.X版本输出方式不同造成的在python3.X的,输入内容时都要带上括号python(),而在2.X中直接输出就没有问题 第二个地方,在IDE中运行给予提示,如 解决python 提示 SyntaxError: Missing parentheses in call to 'print'

python网络爬虫入门(二)——用python简单实现调用谷歌翻译

最近在看国外的文档,有些生词不认识.就用谷歌翻译来理解,用着用着闲来无事就按F12查看了下页面的源代码.发现可以用python简单的实现下谷歌翻译的页面功能.于是先上网搜下有没有类似的文章博客,发现几篇不错的,于是参考其他代码与自己的思路,简单的实现了下翻译的功能,代码如下: import re import urllib,urllib2 #----------模拟浏览器的行为,向谷歌翻译发送数据,然后抓取翻译结果,这就是大概的思路------- def Gtranslate(text): #t

Python学习入门笔记(二):Python运算符

1.算术运算符 "+"加法:3+2=5 "-"减法:3-2=1 "*"乘法:3*2=6 "/"实数除法:3/2=1,3.0/2=1.5 "//"整数除法:5.6//2=2.0 "%"求余数:17%6=5 "**"求幂运算:2**3=8 2.赋值运算符 "="等于:x=3 "+="加等于:x+=2 "-="减等

手把手教你:解决python UnicodeDecodeError: 'gb2312' codec can't decode问题

问题:UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 2-3: illegal multibyte sequence 原因:python在做将普通字符串转换为unicode对象时, 例如:u_string = unicode(string , "gb2312"),如果你的字符串string中有诸如某些繁体字,例如"河滘小学" 中的滘,那么gb2312作为简体中文编码是不能进行解析的,