Python各種擴展名區(qū)別點整理
擴展名
在寫Python程序時我們常見的擴展名是py, pyc,其實還有其他幾種擴展名。下面是幾種擴展名的用法。
py
py就是最基本的源碼擴展名
pyw
pyw是另一種源碼擴展名,跟py唯一的區(qū)別是在windows下雙擊pyw擴展名的源碼會調(diào)用pythonw.exe執(zhí)行源碼,這種執(zhí)行方式不會有命令行窗口。主要用于GUI程序發(fā)布時不需要看到控制臺信息的情況。
pyc
在執(zhí)行python代碼時經(jīng)常會看到同目錄下自動生成同名的pyc文件。這是python源碼編譯后的字節(jié)碼,一般會在代碼執(zhí)行時自動生成你代碼中引用的py文件的pyc文件。這個文件可以直接執(zhí)行,用文本編輯器打開也看不到源碼。
pyo
pyo是跟pyc類似的優(yōu)化編碼后的文件。
pyd
pyd并非從python程序生成,而是其他語言寫成的可以被python調(diào)用的擴展,例如C++寫的動態(tài)連接庫共python調(diào)用
程序發(fā)布的選擇
以windows平臺為例
打包為正??蓤?zhí)行程序
如果要公開發(fā)布程序,最常見的方式就是打包成exe程序了。打包的好處是使用者不需要考慮Python的運行環(huán)境,且也容易被接
受。但不好的是一般打包出來的程序都比較大,而且由于是依靠模塊打包,有可能出現(xiàn)兼容性等問題。
常用的打包模塊是pyinstaller。常用的打包命令是:
pyinstaller -F example.py
-F參數(shù)可將代碼打包成單個exe程序。
另外如果是GUI程序不需要控制臺窗口的還可以加上-w參數(shù):
pyinstaller -w -F example.py
發(fā)布編譯后的pyc/pyo
如果使用者有python環(huán)境,又不想讓他們看到源碼,就可以選擇發(fā)布pyc/pyo文件。
直接執(zhí)行的py文件不會自動生成pyc,需要手動編譯一下。單文件編譯:
import py_compile py_compile.compile(r'c:\test.py')
文件夾編譯:
import compileall compileall.compile_dir(dirpath)
編譯成pyo:
python -O -m py_compile file.py
如果是GUI程序不需要控制臺窗口,可以新建一個pyw文件用于調(diào)用主pyc程序。pyw中只需要導入pyc程序即可。
發(fā)布源碼py
發(fā)布源碼一般是開源項目使用的,沒什么需要說明的。直接發(fā)py文件就可以了,只要對方有環(huán)境就可以運行
相關文章
Pycharm主題切換(禁用)導致UI界面顯示異常的解決方案
這篇文章主要介紹了Pycharm主題切換(禁用)導致UI界面顯示異常的原因分析和解決方案,文中通過圖文結合的方式給大家介紹的非常詳細,需要的朋友可以參考下2024-06-06python的random模塊及加權隨機算法的python實現(xiàn)方法
下面小編就為大家?guī)硪黄猵ython的random模塊及加權隨機算法的python實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01python使用datetime模塊處理日期時間及常用功能詳解
datetime模塊是Python標準庫中用于處理日期和時間的模塊,在本節(jié)中,我們將介紹datetime模塊的一些常用功能,并通過實例代碼詳細講解每個知識點,有需要的朋友可以借鑒參考下,希望能夠有所幫助2023-06-06