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