python調(diào)用pyd文件 Python怎么調(diào)用pyd文件?
Python怎么調(diào)用pyd文件?.pyd 文件是非 Python,由其它編程語言 "編寫-編譯" 生成的 Python 擴(kuò)展模塊Python 要導(dǎo)入 .pyd 文件,實(shí)際上是在 .pyd 文件中封裝了
Python怎么調(diào)用pyd文件?
.pyd 文件是非 Python,由其它編程語言 "編寫-編譯" 生成的 Python 擴(kuò)展模塊Python 要導(dǎo)入 .pyd 文件,實(shí)際上是在 .pyd 文件中封裝了一個(gè) module。在 python 中使用時(shí),把它當(dāng)成 module 來用就可以了,即:"import 路徑名.modulename" 即可,路徑名為 .pyd 文件所在的路徑。
為什么我的python里運(yùn)行不了關(guān)于pygame?
我這是沒問題的,你按照這方法去查一下:
找到 PYTHON-SITEROOTLibsite-packagespygame 這個(gè)目錄(PYTHON-SITEROOT是python的安裝目錄)看下面有沒有除__init__.py之外的文件,然后尋找一個(gè)叫base.pyd的文件,因?yàn)?,你在做了import pygame的時(shí)候其實(shí)是導(dǎo)入的這個(gè)文件,你調(diào)用pygame.init()也是調(diào)用的pygame.base.init(),如果這個(gè)文件不存在,那肯定會
AttributeError: "module" object has no attribute "init"的
如果沒問題,去查看下testsbase_test.py 有沒有這方法:
def __PYGAMEinit__(): #called automatically by pygame.init()
如果沒有,證明你的pygame裝錯(cuò)了~看安裝文檔oncemore~
另外
3x和2x是不同系列的版本,差別很大的,現(xiàn)在大多是用2.x的,你換版本吧
pyd格式的文件要用什么工具來打開呀?
PYD是一種PYTHON動態(tài)模塊。實(shí)質(zhì)上還是dll文件,只是改了后綴為PYD。
python安裝包的時(shí)候提示pyc pyo pyd沒有matching是什么意思?
python并非完全是解釋性語言,它是有編譯的,先把源碼py文件編譯成pyc或者pyo,然后由python的虛擬機(jī)執(zhí)行,相對于py文件來說,編譯成pyc和pyo本質(zhì)上和py沒有太大區(qū)別,只是對于這個(gè)模塊的加載速度提高了,并沒有提高代碼的執(zhí)行速度,通常情況下不用主動去編譯pyc文件,文檔上說只要調(diào)用了import model那么model.py就會先編譯成pyc然后加載
1.如果需要特殊的單獨(dú)編譯,則只需要使用py_complie這個(gè)模塊就行了,如下
import py_compile
py_compile.compile(r‘H:gametest.py‘)
compile函數(shù)原型:
compile(file[, cfile[, dfile[, doraise]]])
file 表示需要編譯的py文件的路徑
cfile 表示編譯后的pyc文件名稱和路徑,默認(rèn)為直接在file文件名后加c 或者 o,o表示優(yōu)化的字節(jié)碼
dfile 錯(cuò)誤消息保存的路徑
doraise 可以是兩個(gè)值,True或者False,如果為True,則會引發(fā)一個(gè)PyCompileError,否則如果編譯文件出錯(cuò),則會有一個(gè)錯(cuò)誤,默認(rèn)顯示sys.stderr中,而不會引發(fā)異常
2.如果要把一個(gè)文件夾下的所有py文件都進(jìn)行編譯,則用下面的命令
import compileall
compileall.compile_dir(dirpath)
dirpath是我們要編譯的文件夾的絕對路徑
3.如果要編譯pyo文件則
編譯成 pyo 就是在控制臺執(zhí)行 python -O -m py_compile file.py
其中file.py就是我們要編譯的源文件