电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

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

瀏覽:112日期: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 編程
相關文章:
主站蜘蛛池模板: 钢木实验台-全钢实验台-化验室通风柜-实验室装修厂家-杭州博扬实验设备 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 全自动定氮仪-半自动凯氏定氮仪厂家-祎鸿仪器| 合肥花魁情感婚姻咨询中心_挽回爱情_修复婚姻_恋爱指南 | 不锈钢电动球阀_气动高压闸阀_旋塞疏水调节阀_全立阀门-来自温州工业阀门巨头企业 | 热闷罐-高温罐-钢渣热闷罐-山东鑫泰鑫智能热闷罐厂家 | 实验室装修_实验室设计_实验室规划设计- 上海广建净化工程公司 | 赛尔特智能移动阳光房-阳光房厂家-赛尔特建筑科技(广东)有限公司 | 台湾HIWIN上银直线模组|导轨滑块|TBI滚珠丝杆丝杠-深圳汉工 | 上海乾拓贸易有限公司-日本SMC电磁阀_德国FESTO电磁阀_德国FESTO气缸 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | EDLC超级法拉电容器_LIC锂离子超级电容_超级电容模组_软包单体电容电池_轴向薄膜电力电容器_深圳佳名兴电容有限公司_JMX专注中高端品牌电容生产厂家 | 便携式表面粗糙度仪-彩屏硬度计-分体式粗糙度仪-北京凯达科仪科技有限公司 | 阜阳成人高考_阜阳成考报名时间_安徽省成人高考网 | 液压油缸生产厂家-山东液压站-济南捷兴液压机电设备有限公司 | LHH药品稳定性试验箱-BPS系列恒温恒湿箱-意大利超低温冰箱-上海一恒科学仪器有限公司 | 航空障碍灯_高中低光强航空障碍灯_民航许可认证航空警示灯厂家-东莞市天翔航天科技有限公司 | pbt头梳丝_牙刷丝_尼龙毛刷丝_PP塑料纤维合成毛丝定制厂_广州明旺 | 水冷式工业冷水机组_风冷式工业冷水机_水冷螺杆冷冻机组-深圳市普威机械设备有限公司 | 紫外线老化试验箱_uv紫外线老化试验箱价格|型号|厂家-正航仪器设备 | 智能垃圾箱|垃圾房|垃圾分类亭|垃圾分类箱专业生产厂家定做-宿迁市传宇环保设备有限公司 | 压缩空气冷冻式干燥机_吸附式干燥机_吸干机_沪盛冷干机 | 一体化污水处理设备_生活污水处理设备_全自动加药装置厂家-明基环保 | 聚天冬氨酸,亚氨基二琥珀酸四钠,PASP,IDS - 远联化工 | POM塑料_PBT材料「进口」聚甲醛POM杜邦原料、加纤PBT塑料报价格找利隆塑料 | 科威信洗净科技,碳氢清洗机,超声波清洗机,真空碳氢清洗机 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 信阳网站建设专家-信阳时代网联-【信阳网站建设百度推广优质服务提供商】信阳网站建设|信阳网络公司|信阳网络营销推广 | 聚合氯化铝价格_聚合氯化铝厂家_pac絮凝剂-唐达净水官网 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 塑料造粒机「厂家直销」-莱州鑫瑞迪机械有限公司 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | 球盟会·(中国)官方网站| 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | 膜结构车棚|上海膜结构车棚|上海车棚厂家|上海膜结构公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | 武汉刮刮奖_刮刮卡印刷厂_为企业提供门票印刷_武汉合格证印刷_现金劵代金券印刷制作 - 武汉泽雅印刷有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 |