成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

python 中 .py文件 轉 .pyd文件的操作

瀏覽:195日期:2022-06-26 14:07:26
pyd文件生成

安裝easycython庫

pip install easycython

test.py

def test(): print('調用成功')

main.py

import testtest.test()

test.py文件重命名為:test.pyx

python 中 .py文件 轉 .pyd文件的操作

終端運行命令

easycython *.pyx

python 中 .py文件 轉 .pyd文件的操作

重命名pyd文件,刪除:cp36-win_amd64.

python 中 .py文件 轉 .pyd文件的操作

運行代碼,調用成功:

python main.py

python 中 .py文件 轉 .pyd文件的操作

代碼實現

import globimport osdef get_file_path(path, file_type): ''' 取文件夾下相同后綴文件路徑列表 :param path: 文件夾路徑 :param file_type: 后綴名 :return:文件路徑列表 ''' paths = glob.glob(os.path.join(path, file_type )) return pathsdef str_replace(old_str,old,new): ''' 在 old_str 字符串中,把 old 替換成 new :param old_str:原字符串 :param old:被替換的字符 :param new:替換后的字符 :return:替換后的字符串 ''' new_str = old_str.replace(old,new) # print('new_str:',new_str) return new_strdef py_to_pyd(path_dir,middle_name_pyd): ''' .py 文件 轉 .pyd文件 :param path_dir:.py文件所在的文件夾路徑 :param middle_name_pyd:pyd的中間名,如: .cp36-win_amd64 :return: ''' # .py 文件 轉成 .pyx文件 file_type = ’*.py’ paths = get_file_path(path_dir, file_type) # print(paths) for pa in paths: new_str = str_replace(pa, ’py’, ’pyx’) os.rename(pa, new_str) # main.pyx 轉成 main.py old_name = path_dir + r’main.pyx’ new_name = path_dir + r’main.py’ os.rename(old_name,new_name) # 把 pyx 轉成 pyd os.system('cd {} && easycython *.pyx '.format(path_dir)) # 刪除所有 .html 文件 file_type = ’*.html’ paths = get_file_path(path_dir, file_type) # print(paths) for pa in paths: os.remove(pa) # 刪除所有 .pyx 文件 file_type = ’*.pyx’ paths = get_file_path(path_dir, file_type) # print(paths) for pa in paths: os.remove(pa) # 刪除所有 .c 文件 file_type = ’*.c’ paths = get_file_path(path_dir, file_type) # print(paths) for pa in paths: os.remove(pa) # 刪除名字中的 .pyd文件 中的 cp36-win_amd64 file_type = ’*.pyd’ paths = get_file_path(path_dir, file_type) # print(paths) for pa in paths: new_str = str_replace(pa, middle_name_pyd, ’’) os.rename(pa,new_str)if __name__ == ’__main__’: path_dir = r'C:UsersxiahuadongDesktopnumber_humen - 副本' middle_name_pyd = ’.cp36-win_amd64’ py_to_pyd(path_dir, middle_name_pyd)

補充:Python 常見文件格式 .py .pyc .pyw .pyo .pyd 之間的主要區別

Python([ˈpaɪθən])是一種面向對象、解釋型計算機程序設計語言。Python語法簡潔、清晰,具有豐富和強大的類庫。

Python源代碼遵循GPL(GNU General Public License)協議,由Guido van Rossum于1989年底發明,第一個公開發行版發行于1991年。

Python常被稱為膠水語言,能把用其他語言編寫的各模塊(尤其是C/C++)輕松地聯結在一起。常見情形是,用Python快速生成程序原型(有時甚至是程序最終界面),然后對其中有特別要求的部分,用更合適的語言改寫;譬如:3D游戲中的圖形渲染模塊,性能要求特別高,就可用C/C++重寫,而后封裝為Python可調用的擴展類庫。需要注意的是,在您使用擴展類庫時可能需要考慮平臺問題,某些擴展類庫可能不提供跨平臺實現。

一般認為,Python 是一種解釋性語言,Python 在執行時,會先將 .py 文件中的源代碼編譯成 byte code(字節碼),然后再由 Python Virtual Machine 來執行這些編譯 byte code。

這種機制的基本思想跟 Java、.NET 一致;但 Python Virtual Machine 與 Java 或 .NET 的 Virtual Machine 不同的是:Python 的 Virtual Machine 是一種更高級的 Virtual Machine。這里的高級并不是通常意義上的高級,不是說 Python 的 Virtual Machine 比 Java 或 .NET 的功能更強大,更拽,而是說和 Java 或 .NET 相比,Python 的 Virtual Machine 距真實機器的距離更遠。或者可以這么說,Python 的 Virtual Machine 是一種抽象層次更高的 Virtual Machine。

Python 提供了一種中間編譯結果保存機制,即 byte code,或更準確地說,保存 PyCodeObject。事實上,Python 確實提供了這樣一種機制 —— .pyc 文件。在執行一個 .py 文件的源代碼之后,Python 并不會自動生成與該 .py 文件對應的 .pyc 文件。Python 會根據需要自動觸發、創建 .pyc 文件,原理很簡單,就是利用 Python 的 import 機制。

在 Python 運行過程中如碰到 import abc 這樣的語句,Python 將會在設定好的 path 中尋找 abc.pyc 或 abc.dll 文件。若沒有這樣的文件,而只是發現了 abc.py 文件,那么,Python 會首先將 abc.py 編譯成相應的 PyCodeObject 中間結果,然后再創建 abc.pyc 文件,并將中間結果寫入該文件。接下來,Python 才會對 abc.pyc 文件進行一個 import 動作,實際上也就是將 abc.pyc 文件中的 PyCodeObject 重新在內存中復制出來,加以運行。

由于 Python .pyc 文件的此種運行機制,所以,可隨時刪除所有中間過程 .pyc 文件,當 Python 再次運行時,還會重生成這些 .pyc 文件,對您所編輯程序的運行并無任何影響。當然,得有源代碼才行。

視窗用 python.exe 運行 .py ,用 pythonw.exe 運行 .pyw。因為安裝視窗版 Python 時,擴展名 .py 自動被登記為用 python.exe 運行, 而 .pyw 則被登記為用 pythonw.exe 運行。

.py 文件

以 .py 作擴展名的文件是 Python 源代碼文件,由 python.exe 解釋,可在控制臺下運行。當然,也可用文本編輯器進行修改。

.pyc 文件以 .pyc 作擴展名的文件是 python 編譯文件。.pyc 文件是不能用文本編輯器進行編輯的,其優點是 .pyc 文件的執行速度要遠快于 .py 文件。至于為什么要有 .pyc 文件,這個需求太明顯了,因為 .py 文件是可直接看到源碼的,若是軟件開發商的話,不可能把源碼泄漏出去?所以,就需編譯成 .pyc 后再發布。

.pyw 文件

.pyc 文件執行時,桌面會出現類似 CMD 命令的黑色 shell 窗口,十分難看,于是 .pyw 文件就應運而生了。.pyw 文件與 .pyc 文件的執行,本質上并沒什么區別,只是 .pyw 文件執行的時候不會出現類似 CMD 命令的黑色 shell 窗口。

.pyw 文件格式主要是設計用來運行純 GUI 圖形用戶界面程序的。 純 GUI 圖形用戶界面程序的用戶不需要看到類似 CMD 命令的黑色 shell 控制臺窗口。.pyw 文件運行時,所有 stdout、stderr 輸出無效,所有原 stdin 的讀取只會得到 EOF。值得一提的是,開發純 GUI 圖形用戶界面程序時,可暫時把 .pyw 改成 .py,以便運行時調出控制臺窗口,看到所有錯誤信息,方便修改、調試。

.pyo 文件

.pyo 文件是優化編譯后的程序。 “python -O 源文件” 即可將源程序編譯為 .pyo 文件。同樣,.pyo 文件也是不能用文本編輯器進行編輯的。

.pyd 文件

.pyd 文件并不是用 python 編寫成的,.pyd 文件一般是其他語言編寫的 python 擴展模塊。.pyd 文件是用 D 語言按照一定格式編寫,并處理成二進制的文件。

那么什么是 “D 語言” 呢?它是 C/C++ 的綜合進化版,不僅具有二者 的全部優點,且整體性能更佳,但其抽象程度高。

D 語言最初由 Digital Mars 公司就職的 Walter Bright 于 2001 年發布,意圖改進 C++ 語言。目前最新 D 語言被簡稱為 D2。最主要的 D 語言的實現是 DMD。

D 語言源自 C/C++,借鑒了眾多編程語言的特色和現代編譯器技術,融會貫通了設計者豐富的實踐經驗,使之具備了非凡的威力 ── 既有 C/C++ 語言的強大威力,又有 Python 和 Ruby 的開發效率。它集眾多系統級編程所需的功能于一身,例如垃圾回收、手工內存操作、契約式設計、高級模板技術、內嵌匯編、內置單元測試、Mixin 風格多繼承、類 Java 包管理機制、內置同步機制、內建基本運行時信息。

python 要導入 .pyd 文件,實際上是在 .pyd 文件中封裝了一個 module,在 python 中使用時,把它當成 module 來用就可以了,即:import 路徑名.modulename 即可,路徑名為 .pyd 文件所在的路徑。

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方,望不吝賜教。

標簽: Python 編程
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
欧美一区二区视频在线观看2022| 伊人色综合久久天天五月婷| 亚洲国产精品第一区二区| 精品国产乱码91久久久久久网站| 久久精品国产精品亚洲综合| 麻豆91精品| 亚洲一区二区视频| 国产精品二区三区四区| 久久精品夜夜夜夜久久| 成人99免费视频| 日韩欧美高清在线| 成人激情动漫在线观看| 欧美成人精品1314www| 成人一区二区视频| 日韩一区二区不卡| 国产精品一区专区| 4438x亚洲最大成人网| 精品一区二区三区在线播放视频| 欧洲一区二区三区免费视频| 日本成人在线一区| 色婷婷av一区二区三区之一色屋| 午夜免费久久看| 久久精品盗摄| 日本成人中文字幕| 欧美日韩亚洲国产综合| 麻豆免费看一区二区三区| 在线观看中文字幕不卡| 久久av中文字幕片| 欧美一区二区啪啪| 成人app网站| 欧美激情一区二区三区全黄| 国产精品v亚洲精品v日韩精品| 亚洲国产精品99久久久久久久久| www.日韩精品| 国产日韩精品一区二区三区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品久久久久免费视 | 欧美日韩综合色| 韩国女主播一区| 精品欧美一区二区在线观看| av动漫一区二区| 日本一区二区视频在线观看| 欧美日韩一区在线观看视频| 亚洲欧美二区三区| 一本色道久久综合狠狠躁的推荐 | 欧美日韩综合一区| 国产精品一二三区| 26uuu精品一区二区在线观看| 欧美精品二区三区四区免费看视频| 中文字幕日韩av资源站| 国产日韩久久| 日本不卡中文字幕| 欧美一区二区三区成人| 91一区一区三区| 亚洲精品国产无套在线观| 久久亚洲精品欧美| 国产成人亚洲综合a∨婷婷图片| 久久久久久久久久久久久女国产乱| 影音先锋中文字幕一区| 亚洲成人综合视频| 欧美挠脚心视频网站| 成人性生交大片免费看在线播放| 国产日本欧美一区二区| 在线欧美日韩| 琪琪一区二区三区| 久久久精品免费观看| 国产女主播一区二区三区| 国产一区福利在线| 国产欧美精品在线观看| 媚黑女一区二区| 国产精品亚洲午夜一区二区三区 | 久久久久久9| 国产福利精品一区二区| 国产精品久久久久一区二区三区 | 美美哒免费高清在线观看视频一区二区 | 在线观看视频一区| 国产成人免费视频网站| 国产精品久久一级| 91久久线看在观草草青青| 成人av电影在线| 亚洲一区二区欧美激情| 91精品国产aⅴ一区二区| 亚洲网站在线| 激情久久久久久久久久久久久久久久| 精品国产精品网麻豆系列| 99精品视频免费| 国产一区二区按摩在线观看| 日本一区二区三区国色天香| 亚洲欧美卡通另类91av| 国产九色sp调教91| 亚洲日本中文字幕区| 欧美日韩在线播| 欧美日韩在线播放一区二区| 蜜臀久久99精品久久久画质超高清| 久久久久国产精品麻豆| 久久一区二区精品| 97久久人人超碰| 免费成人av在线播放| 国产精品乱码一区二三区小蝌蚪| 玖玖国产精品视频| 欧美破处大片在线视频| 免费观看久久久4p| 中文字幕亚洲区| 欧美一区二区精品久久911| 9色精品在线| a在线播放不卡| 日韩av一二三| 国产精品人妖ts系列视频| 欧美色视频一区| 亚洲乱码视频| 成人激情电影免费在线观看| 日韩福利电影在线观看| 国产精品免费人成网站| 91麻豆精品国产91久久久久久| 99精品久久| 91猫先生在线| 国产乱码精品一区二区三区av| 亚洲成人av电影| 国产精品美日韩| 日韩欧美久久久| 欧美性淫爽ww久久久久无| 在线观看日韩av电影| 国产成人夜色高潮福利影视| 午夜精品123| |精品福利一区二区三区| 亚洲精品一区在线观看| 欧美日韩在线播放| 久久精品中文| 国产欧美另类| 国产精品theporn| 成人av免费观看| 韩国欧美国产一区| 日韩电影免费在线看| 亚洲视频网在线直播| 久久亚洲一区二区三区明星换脸| 欧美日韩免费电影| 一本久道久久综合中文字幕| 日韩午夜av| 欧美系列一区| 99久久婷婷国产精品综合| 国产曰批免费观看久久久| 亚洲成a天堂v人片| 一个色妞综合视频在线观看| 国产精品免费观看视频| 久久一区二区三区国产精品| 欧美精品粉嫩高潮一区二区| 欧美在线一二三四区| 久久中文精品| 男人的天堂亚洲| 国产精品一二| 亚洲三级观看| 国产一区视频在线观看免费| 91女厕偷拍女厕偷拍高清| 成人动漫精品一区二区| 国产黄人亚洲片| 国产成人精品午夜视频免费| 国产最新精品精品你懂的| 老汉av免费一区二区三区 | 成人avav影音| 从欧美一区二区三区| 国产一区二区三区免费播放| 蜜臀av性久久久久蜜臀aⅴ| 日韩国产高清在线| 午夜天堂影视香蕉久久| 亚洲福利视频导航| 亚洲伊人伊色伊影伊综合网| 亚洲欧美激情一区二区| 综合av第一页| 亚洲免费视频中文字幕| 亚洲色图欧洲色图婷婷| 国产精品久久久久久户外露出| 欧美激情综合在线| 中文av一区二区| 欧美国产日本视频| 国产精品福利电影一区二区三区四区| 国产欧美日韩视频在线观看| 国产亚洲一区二区在线观看| 国产视频一区在线观看| 中文字幕av一区二区三区高| 国产精品热久久久久夜色精品三区 | 日本欧美一区二区三区| 五月天中文字幕一区二区| 日韩黄色在线观看| 青青草原综合久久大伊人精品优势| 日韩av不卡一区二区| 日韩高清一区二区| 奇米色一区二区| 激情成人综合网| 丁香五精品蜜臀久久久久99网站| 成人av网站在线观看免费| 99热这里都是精品| 午夜视频精品| 在线视频成人| 免费一级欧美片在线播放| 日本高清免费不卡视频| 欧美日韩国产成人在线91| 欧美一区二区三区视频免费 | 日韩久久免费av| 久久久99精品免费观看| 国产精品久久久久久久久晋中 | 性久久久久久久久久久久|