pyd文件類似於C++中的dll,可以編譯,但是看不到源代碼。
py轉換成pyd參考鏈接:https://blog.csdn.net/weixin_44493841/article/details/107022446
准備工作:
第一步:安裝easycython庫
pip install easycython
第二步:寫一個需要轉換成pyd的py文件,比如To_pyd.py
def test(): print("Test .pyd function")
第三步:寫一個調用此py的另一個py文件,比如main.py
import To_pyd def main(): To_pyd.test() if __name__ == '__main__': main()
准備工作做好后,接下來就是把To_pyd.py轉換成To_pyd.pyd了。
轉換步驟:
第一步:將To_pyd.py改名為To_pyd.pyx
第二步:打開cmd窗口,進入文件所在目錄,輸入以下命令。
easycython *.pyx
第三步:可以看到以下目錄結構。
注意:運行main.py執行的就是To_pyd.pyd的函數,而不是執行To_pyd.py里面的函數了。
可以做個小實驗,刪掉To_pyd.py文件,main.py依舊可以運行,然后新建一個To_pyd.py文件,里面打印其他東西,但是運行結果還是之前To_pyd.pyd的結果。不過一個有趣的現象是,如果你ctrl+鼠標左鍵跳轉的話,會跳轉到To_pyd.py文件里面去,即使打印的東西不一樣。另外如果有To_pyd.pyi文件的話,也是會跳轉到To_pyd.pyi文件中去的。