Ⅰ python怎麼載入自己定義的模塊
一般來說,我們會將自己寫的python模塊與python自帶的模塊分開存放以達到便於維護的目的。
Python 運行環境在查找庫文件時是對 sys.path 列表進行遍歷,如果我們想在運行環境中注冊新的類庫,主要有以下三種方法:
在sys.path列表中添加新的路徑。
設置PYTHONPATH環境變數。
將庫文件復制到sys.path列表中的目錄里(如site-packages目錄)。
其實,最簡單的辦法是用 .pth 文件來實現。Python 在遍歷已知的庫文件目錄過程中,如果見到一個 .pth 文件,就會將文件中所記錄的路徑加入到 sys.path 設置中,這樣 .pth 文件說指明的庫也就可以被 Python 運行環境找到。
操作:
在Python/Lib/site-package目錄下創建一個MyMole.pth文件,其中內容為自定義的模塊所在的路徑。
Config代碼
C:\Project
C:\Project 這樣Project目錄下的python文件就可以被找到了。
Ⅱ python 怎麼安裝新的模塊
先在命令行里打一下pip,確認下這個模塊安裝了沒有。
如果沒有則,
首先安裝easy_install
下載地址:https://pypi.python.org/pypi/ez_setup
解壓,安裝.
pythonez_setup.py
安裝好easy_install 之後 再安裝pip
下載地址:https://pypi.python.org/pypi/pip
解壓,安裝.
pythonsetup.pyinstall
之後要安裝的包就直接
pipinstallxxx
Ⅲ python中怎麼import自己寫的模塊
只需要在文件中import與你寫的文件的文件名一致的模塊名即可,這時Python會為你創建一個pyc文件的。
即,如果你已經寫了一個名為ssss.py的文件,而現在你需要在名為aaaa.py的文件中使用ssss.py中定義的方法,那麼你只需要在aaaa.py中加入import ssss,然後你就可以在aaaa.py中使用ssss.py中的方法(當然方法前需要加模塊名來引用)。你還可以在aaaa.py中如下寫
from ssss import ....
....可替換為ssss.py中定義的方法的名稱
或
from ssss import *
導入ssss.py中的所用定義,使用以上這兩種方法導入ssss.py中的定義,你在aaaa.py中可不用使用模塊名來引用。
Ⅳ 如何導入python中的模塊
定義模塊,只要使用文本編輯器,把一些python代碼輸入到文本中,然後以.py為後綴名進行保存,任何此類文件都會被認為是python模塊。
比如說,下面的代碼輸入到一個文件中,就可以看作是一個模塊:
def printme(var): print varif __name__ == '__main__': printme(1)
假設說輸入到a.py中,那麼import a就可以把這個模塊導入。
然後可執行a.printme(3),屏幕即可列印出3:
>>> a.printme(3)3>>>
一個模塊頂層定義的變數,會自動變成模塊的屬性。例如:
data=[1,2,3]def printme(var): print varif __name__ == '__main__': printme(1)
data變數就是模塊的一個屬性。其實printme也是一個屬性,只不過是一個函數罷了。
引入模塊示例如下:(假定此時data=[1,2,3]未定義)
>>> import a>>> a.data Traceback (most recent call last): File "<pyshell#1>", line 1, in <mole> a.dataAttributeError: 'mole' object has no attribute 'data'>>> reload(a)<mole 'a' from 'C:/py\a.pyc'>>>> a.data Traceback (most recent call last): File "<pyshell#3>", line 1, in <mole> a.dataAttributeError: 'mole' object has no attribute 'data'>>>
從上述提示可以看出data屬性未定義,此時再在a.py文件中定義data=[1,2,3],重新載入a模塊,並輸出data屬性:
>>> reload(a)<mole 'a' from 'C:/py\a.py'>>>> a.data[1, 2, 3]>>>
這里的reload函數可以重新載入一個模塊。如果在模塊代碼中更改了,那麼需要重新載入。
上面a.data,就是訪問模塊中的屬性。
上面的例子是導入一個文件作為一個模塊。
其實python的模塊導入還有更豐富的內容。
除了模塊名之外,python也可以導入指定目錄路徑。python代碼的目錄就稱為包。因此,這類導入就稱為包導入。事實上,包導入是把計算機上的目錄變成python的一個命名空間。而屬性就是目錄中包含的子目錄或者是模塊文件。
看下面例子:
在我的桌面上有一個aa文件夾,裡面有bb文件夾,bb裡面有a.py這個文件。
那麼在aa和bb文件夾中分別放置一個__init__.py,之後,在命令行中import aa.bb.a,就可以導入模塊a了。
Ⅳ python怎麼導自定義模塊
python中導入自定義模塊的方法:
1、py執行文件和模塊同屬於同個目錄(父級目錄)
直接使用import <模塊名>命令導入模塊,然後使用模塊.變數|函數語句即可使用模塊中的函數。
2、先使用sys模塊導入自定義模塊的路徑,然後使用import導入模塊
導入步驟:
1、使用import sys導入sys模塊
2、使用sys.path.append(path)函數導入自定義模塊所在目錄
3、然後使用import <模塊名>命令導入模塊
更多Python知識請關注Python自學網。
Ⅵ python如何導入自定義模塊
1、相同目錄下,若在程序test1.py中導入模塊mod1,
則直接使用import
mod1或from
mod1
import
*;
2、主程序所在目錄是模塊所在目錄的父(或祖輩)目錄則要建立空文件__init__.py文件然後使用
from
mod2.mod2
import
*
Ⅶ python 類和繼承,包及模塊導入 求解答
一 .mole
通常模塊為一個文件,直接使用import來導入就好了。可以作為mole的文件類型有".py"、".pyo"、".pyc"、".pyd"、".so"、".dll"。
二. package
通常包總是一個目錄,可以使用import導入包,或者from + import來導入包中的部分模塊。包目錄下為首的一個文件便是 __init__.py。然後是一些模塊文件和子目錄,假如子目錄中也有 __init__.py 那麼它就是這個包的子包了。
一.模塊你可以使用import語句將一個源代碼文件作為模塊導入.例如:
[python]view plain
#file:spam.py
a=37#一個變數
deffoo:#一個函數
print"I'mfoo"
classbar:#一個類
defgrok(self):
print"I'mbar.grok"
b=bar()#創建一個實例
使用import spam 語句就可以將這個文件作為模塊導入。系統在導入模塊時,要做以下三件事:
[python]view plain
importspam#導入並運行模塊spam
printspam.a#訪問模塊spam的屬性
spam.foo()
c=spam.bar()
用逗號分割模塊名稱就可以同時導入多個模塊:
[python]view plain
importsocket,os,regex
[python]view plain
importosassystem
importsocketasnet,threadasthreads
system.chdir("..")
net.gethostname()
[python]view plain
fromsocketimportgethostname#將gethostname放如當前名字空間
printgethostname()#直接調用
socket.gethostname()#引發異常NameError:socket
from語句支持逗號分割的對象,也可以使用星號(*)代表模塊中除下劃線開頭的所有對象:
[python]view plain
fromsocketimportgethostname,socket
fromsocketimport*#載入所有對象到當前名字空間
[python]view plain
#mole:foo.py
__all__=['bar','spam']#定義使用`*`可以導入的對象
另外, as 也可以和 from 聯合使用:
[python]view plain
h=hostname()
import 語句可以在程序的任何位置使用,你可以在程序中多次導入同一個模塊,但模塊中的代碼*僅僅*在該模塊被首次導入時執行。後面的import語句只是簡單的創建一個到模塊名字空間的引用而已。sys.moles字典中保存著所有被導入模塊的模塊名到模塊對象的映射。這個字典用來決定是否需要使用import語句來導入一個模塊的最新拷貝.
[python]view plain
#檢查是單獨執行還是被導入
if__name__=='__main__':
#Yes
statements
else:
#No(可能被作為模塊導入)
statements
Ⅷ python怎麼導入同一包的模塊
一、何為模塊
1.一個模塊就是一個包含了python定義和聲明的文件,文件名就是模塊名字加上.py的後綴。
2.模塊目的和函數,對象等一樣,是為了代碼的復用性而存在的。即一個py程序寫了很多功能,也可以被其他py程序調用。被調用後被作為模塊,此時會產生一個pyc的文件即為這個模塊的緩存文件,相當於編譯了模塊文件使該py模塊被調用的速度變快。一個大的項目一個人肯定是不行的,所以模塊也為程序員相互間的合作提供了便利。
二、模塊妙用
1.import
只需要在py程序開頭加上import 文件名(不能有.py後綴)。例如,模塊的文件名是span.py,那麼只需在自己的py程序加import span。
2. import可以在程序的任意位置調用,但一次調用後會駐留內存,下次再調用會直接調用內存中的模塊(python的優化)。
3.個模塊都是一個獨立的名稱空間,定義在這個模塊中的函數,把這個模塊的名稱空間當做全局名稱空間,這樣我們在編寫自己的模塊時,就不用擔心我們定義在自己模塊中全局變數會在被導入時,與使用者的全局變數沖突。
print('from the spam.py')
money=1000def read1(): print('spam->read1->money',1000)def read2(): print('spam->read2 calling read')
read1()def change(): global money
money=0
支持tab自動補全
Ⅸ Python中怎麼引入模塊
項目中想使用以前的代碼,或者什麼樣的需求致使你需要導入外部的包
如果是web 下,比如說django ,那麼你新建一個app,把你需要導入的說用東東,都寫到這個app中,然後在setting中的app也配上基本就ok了
如果是本地代碼,可以有幾種方式,
1、這種最簡單,也可能最不實用,將你的外部文件放到跟需要調用外部文件的文件同一個包下,同一目錄
folder
------toinvoke.py
------tobeinvoded.py
這樣在toinvoke.py 中引入
import toveinvoked 或 from tobeinvoked import *
即可
2、你的其他文件不是單個文件,或者不能如上所說放到同一目錄下,而是在不同目錄中,子目錄
folder
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
這種情況,現在folder 下新建一個__init__.py 的空文件,此時的folder不再是一個普通的文件夾,而是一個包 package,現在像這樣
folder #文件夾 現在的性質為一個python包package
------__init__.py
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
toinvoke.py
這樣在toinvoke.py 中引入
import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
3、同理,如果是如下的情況,folderB中的模塊要調用folderA中的模塊,方法同上,有什麼改變,你已經知道了
folderA
------tobeinvoded.py
------tobeinvodedA.py
------tobeinvodedB.py
------tobeinvodedC.py
folderB
--------toinvoke.py
這樣在toinvoke.py 中引入
import folder.toveinvoked 或 from folder.tobeinvoked import *
即可
4、將要被調用的代碼拷貝到$PYTHONHOME$\Lib\site-packages 下面,這個就跟Eclipse插件安裝差不多
5、在$PYTHONHOME$\Lib\site-packages 下面新建一個.pth文件,比如說是MyPackage.pth,裡面的內容是你的包的絕對路徑比如:E:/PythonPrj
那麼,在E:/PythonPrj下的所有包都可以按照包所在的相對路徑引入,這個跟Eclipse插件安裝的link 方式差不多
6、跟上面的差不多,也可以加個環境變數,這個就不多說了
總結、看看Python的包搜索路徑
Python會在以下路徑中搜索它想要尋找的模塊:
1. 程序所在的文件夾
2. 標准庫的安裝路徑
3. 操作系統環境變數PYTHONPATH所包含的路徑
將自定義庫的路徑添加到Python的庫路徑中去,有如下兩種方法:
1. 動態的添加庫路徑。在程序運行過程中修改sys.path的值,添加自己的庫路徑
import sys
sys.path.append(r'your_path')
2. 在Python安裝目錄下的\Lib\site-packages文件夾中建立一個.pth文件,內容為自己寫的庫路徑。示例如下
E:\\work\\Python\\http
E:\\work\\Python\\logging
Ⅹ Python調用自定義模塊方法有什麼
import語句
自定義模塊可以採用import語句來進行引入,其操作步驟是先導入模塊,再調用模塊中包含的函數,可將自定義模塊放入當前目錄,便於解釋器路徑搜索,以下是導入自定義hello.py模塊,並調用World函數的實例:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
#導入模塊
import hello
#現在可以調用模塊里包含的函數了
support.print_func("World")
輸出結果為:
Hello World!
以上實例也可以採用from…import的方法進行實現,是指從一個模塊中導入指定的部分到當前命名空間中,以上功能可寫成:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import World
如果要將模塊中的所有內容全部導入當前命名空間,可採用from…import*的方法,具體實例如下:
#!/usr/bin/python
#-*- coding: UTF-8 -*-
from hello import *
還需注意,當要導入一個模塊時,Python解釋器會對模塊的位置進行搜索,具體搜索順序規律如下:
1.當前目錄;
2.如果不在當前目錄,Python則搜索在shell變數PYTHONPATH下的每個目錄;
3.如果都找不到,Python會察看默認路徑。