国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - python 中 .py文件 轉 .pyd文件的操作

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

2021-09-14 00:08夏華東的博客 Python

這篇文章主要介紹了python 中 .py文件 轉 .pyd文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

pyd文件生成

安裝easycython庫

pip install easycython

test.py

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

main.py

import test
test.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 glob
import os
def get_file_path(path, file_type):
  """
  取文件夾下相同后綴文件路徑列表
  :param path: 文件夾路徑
  :param file_type: 后綴名
  :return:文件路徑列表
  """
  paths = glob.glob(os.path.join(path,
                  file_type
                  ))
  return paths
def 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_str
def 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:UsersxiahuadongDesktop
umber_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 文件所在的路徑。

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

原文鏈接:https://blog.csdn.net/weixin_44493841/article/details/107022446

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久精品在线 | 欧美人成在线视频 | 久久99这里只有精品 | 国产视频三区 | 国产成人免费 | 一级在线观看 | 自拍在线 | 成年人在线观看免费视频 | 欧美日韩精品在线播放 | 中文字幕在线免费播放 | 成人在线视频免费 | 久久久久久中文字幕 | 精品无人乱码一区二区三区 | 久久久久久91香蕉国产 | 国产精品一区二区三区免费 | 欧美日韩国产高清 | 欧美日韩中文在线 | 欧美日韩精品久久久 | 亚洲色图50p | 伊人短视频 | 中文字幕中文字幕 | 亚洲视频一区在线 | 久久综合九色综合网站 | 人人超碰97| 欧美一区二区三区精品免费 | 久久久精品一区二区 | 一级毛片av | 久久久久久99 | 免费色在线 | av色综合 | 日韩一区在线视频 | 久在线 | 精品久久久久久国产 | 亚洲综合日韩欧美 | 日韩精品一区二区三区中文在线 | 午夜影院在线观看 | av免费在线观看网站 | 99国产精品久久久久久久久久 | 成av在线| 国产成人av网站 | 国产99精品视频 |