新聞中心
1、Python模塊和包2、引入其他路徑下的py文件3、相對(duì)導(dǎo)入與絕對(duì)導(dǎo)入Python模塊和包在編寫復(fù)雜程序時(shí),通過(guò)使用import語(yǔ)句導(dǎo)入指定路徑下的某個(gè).py文件或整個(gè)包以及其子模塊。
- 本文目錄導(dǎo)讀:
- 1、Python模塊和包
- 2、引入其他路徑下的py文件
- 3、相對(duì)導(dǎo)入與絕對(duì)導(dǎo)入
Python模塊和包
在編寫復(fù)雜程序時(shí),我們通常需要將代碼分為不同的部分,每個(gè)部分負(fù)責(zé)不同的功能。這種組織方式被稱為模塊化編程。Python中,最基本也是最重要的組成單位是模塊。

一個(gè).py文件就可以作為一個(gè)模塊,在其中定義變量、函數(shù)、類等內(nèi)容,并供其他程序調(diào)用。當(dāng)然,在實(shí)際開發(fā)中,單一的.py文件往往無(wú)法滿足需求,因此我們還需要使用到包。
包是指多個(gè)模塊放在同一個(gè)目錄下,并且在該目錄下創(chuàng)建一個(gè)__init__.py(可以為空)文件來(lái)標(biāo)識(shí)這個(gè)目錄為一個(gè)包。通過(guò)使用import語(yǔ)句導(dǎo)入指定路徑下的某個(gè).py文件或整個(gè)包以及其子模塊。
引入其他路徑下的py文件
默認(rèn)情況下,在Python中只能直接導(dǎo)入當(dāng)前路徑下或系統(tǒng)默認(rèn)搜索路徑內(nèi)存在的庫(kù)或者自己編寫好并保存在當(dāng)前工作空間內(nèi)已經(jīng)存在于sys.path列表里面了才能直接import進(jìn)來(lái)。
但有時(shí)候我們可能會(huì)碰到需要從別處導(dǎo)入python腳本而遇到找不到module名字報(bào)錯(cuò)問(wèn)題,則此時(shí)就需要修改PYTHONPATH環(huán)境變量來(lái)解決問(wèn)題:
```
import sys
sys.path.append('path/to/your/module')
import your_module
其中,`sys.path.append()`可以添加自定義路徑到系統(tǒng)搜索路徑中。如果需要多個(gè)路徑,則使用append()方法分別添加即可。
但是這種方式并不推薦,因?yàn)樗皇墙鉀Q了當(dāng)前問(wèn)題而已,并沒(méi)有真正意義上的規(guī)范化管理模塊和包。
相對(duì)導(dǎo)入與絕對(duì)導(dǎo)入
Python中有兩種常見(jiàn)的導(dǎo)入方式:相對(duì)導(dǎo)入和絕對(duì)導(dǎo)入。在一些較大型工程項(xiàng)目開發(fā)時(shí)更常用到。
相對(duì)導(dǎo)入指的是通過(guò)"."或".."來(lái)表示當(dāng)前文件所在目錄或父級(jí)目錄等位置進(jìn)行引用。例如,在同一個(gè)包內(nèi)部,我們可以使用以下語(yǔ)句來(lái)實(shí)現(xiàn)模塊之間的調(diào)用:
from . import module1
from ..subpackage import module2
而絕對(duì)導(dǎo)入則需要明確地知道被調(diào)用模塊所在完整路徑,并以該路徑作為基準(zhǔn)進(jìn)行引用:
from package.module import function_name
Python提供了靈活且強(qiáng)大的模塊化編程機(jī)制,使得程序員們能夠輕松地組合、重復(fù)利用代碼;同時(shí)也提供了多樣性質(zhì)量高效率高的引包方法讓人感到無(wú)比驚喜。
當(dāng)然,要注意避免出現(xiàn)混亂不清晰甚至錯(cuò)誤難以追蹤的問(wèn)題,我們需要在組織包和編寫模塊時(shí)特別注意代碼規(guī)范,同時(shí)選擇相對(duì)導(dǎo)入或者絕對(duì)導(dǎo)入來(lái)引用其他文件夾下的py文件。
新聞名稱:Python引入其他文件夾下的py文件
文章網(wǎng)址:http://m.5511xx.com/article/cophjhs.html


咨詢
建站咨詢
