欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python import導(dǎo)入上級(jí)目錄文件的方法

 更新時(shí)間:2023年01月18日 10:50:53   作者:我行我素,向往自由  
這篇文章主要介紹了Python import導(dǎo)入上級(jí)目錄文件,本文結(jié)合示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

假設(shè)有如下目錄結(jié)構(gòu):

-- dir0
  | file1.py
  | file2.py
  | dir3
   | file3.py
  | dir4
   | file4.py

dir0文件夾下有file1.py、file2.py兩個(gè)文件和dir3、dir4兩個(gè)子文件夾,dir3中有file3.py文件,dir4中有file4.py文件。

1.導(dǎo)入同級(jí)模塊

python導(dǎo)入同級(jí)模塊(在同一個(gè)文件夾中的py文件)直接導(dǎo)入即可。

import xxx

如在file1.py中想導(dǎo)入file2.py,注意無需加后綴".py":

import file2
# 使用file2中函數(shù)時(shí)需加上前綴"file2.",即:
# file2.fuction_name()

2.導(dǎo)入下級(jí)模塊

導(dǎo)入下級(jí)目錄模塊也很容易,需在下級(jí)目錄中新建一個(gè)空白的__init__.py文件再導(dǎo)入:

from dirname import xxx

如在file1.py中想導(dǎo)入dir3下的file3.py,首先要在dir3中新建一個(gè)空白的__init__.py文件。

-- dir0
  | file1.py
  | file2.py
  | dir3
   | __init__.py
   | file3.py
  | dir4
   | file4.py

再使用如下語句:

# plan A
from dir3 import file3

或是:

# plan B
import dir3.file3
# import dir3.file3 as df3

但使用第二種方式則下文需要一直帶著路徑dir3書寫,較為累贅,建議可以另起一個(gè)別名。

3.導(dǎo)入上級(jí)模塊

要導(dǎo)入上級(jí)目錄下模塊,可以使用sys.path:  

import sys 
sys.path.append("..") 
import xxx 

如在file4.py中想引入import上級(jí)目錄下的file1.py:

import sys 
sys.path.append("..") 
import file1

sys.path的作用:當(dāng)使用import語句導(dǎo)入模塊時(shí),解釋器會(huì)搜索當(dāng)前模塊所在目錄以及sys.path指定的路徑去找需要import的模塊,所以這里是直接把上級(jí)目錄加到了sys.path里。

“..”的含義:等同于linux里的‘..’,表示當(dāng)前工作目錄的上級(jí)目錄。實(shí)際上python中的‘.’也和linux中一致,表示當(dāng)前目錄。

4.導(dǎo)入隔壁文件夾下的模塊

如在file4.py中想引入import在dir3目錄下的file3.py。

這其實(shí)是前面兩個(gè)操作的組合,其思路本質(zhì)上是將上級(jí)目錄加到sys.path里,再按照對(duì)下級(jí)目錄模塊的方式導(dǎo)入。

同樣需要被引文件夾也就是dir3下有空的__init__.py文件。

-- dir
  | file1.py
  | file2.py
  | dir3
   | __init__.py
   | file3.py
  | dir4
   | file4.py

同時(shí)也要將上級(jí)目錄加到sys.path里:

import sys
sys.path.append("..")
from dir3 import file3

5.常見錯(cuò)誤及import原理

在使用直接從上級(jí)目錄引入模塊的操作時(shí):

from .. import xxx

經(jīng)常會(huì)報(bào)錯(cuò):

ValueError: attempted relative import beyond top-level package

這是由于相對(duì)導(dǎo)入時(shí),文件夾實(shí)質(zhì)上充當(dāng)?shù)氖莗ackage,也就是包的角色(比如我們常用的numpy、pandas都是包)。如果python解釋器沒有認(rèn)同該文件夾是package,那么這就是一個(gè)普通的文件夾,無法實(shí)現(xiàn)相對(duì)導(dǎo)入。

文件夾作為package需要滿足如下兩個(gè)條件:

  1. 文件夾中必須存在有__init__.py文件,可以為空。

    1. 不能作為頂層模塊來執(zhí)行該文件夾中的py文件。

到此這篇關(guān)于Python import導(dǎo)入上級(jí)目錄文件的文章就介紹到這了,更多相關(guān)Python import導(dǎo)入上級(jí)目錄內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python裝飾器基礎(chǔ)概念與用法詳解

    Python裝飾器基礎(chǔ)概念與用法詳解

    這篇文章主要介紹了Python裝飾器基礎(chǔ)概念與用法,結(jié)合實(shí)例形式詳細(xì)分析了Python裝飾器的概念、功能、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12
  • 對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解

    對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解

    今天小編就為大家分享一篇對(duì)pandas中時(shí)間窗函數(shù)rolling的使用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • 利用nohup來開啟python文件的方法

    利用nohup來開啟python文件的方法

    今天小編就為大家分享一篇利用nohup來開啟python文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 基于Python實(shí)現(xiàn)中秋佳節(jié)月餅搶購(gòu)腳本

    基于Python實(shí)現(xiàn)中秋佳節(jié)月餅搶購(gòu)腳本

    這篇文章主要介紹了Python版中秋佳節(jié)月餅搶購(gòu)腳本,今天要用的是一個(gè)測(cè)試工具的庫(kù)Selenium,今天我們就是用它去實(shí)現(xiàn)自動(dòng)化搶購(gòu)月餅,其實(shí)就是用這個(gè)工具"模擬"人為操作瀏覽器相應(yīng)的操作,比如登陸,勾選購(gòu)物車商品,下單購(gòu)買等等操作,需要的朋友可以參考下
    2022-09-09
  • 100?個(gè)?Python?小例子(練習(xí)題四)

    100?個(gè)?Python?小例子(練習(xí)題四)

    這篇文章主要給大家分享100?個(gè)?Python?小例子,前文分享了一二三,本文的四十最后一篇了,這篇就把100道python小練習(xí)全分享完了,感興趣的小伙伴也可以去練習(xí)前幾期內(nèi)容,洗碗給這幾篇文章給你的學(xué)習(xí)帶來幫助
    2022-01-01
  • python實(shí)現(xiàn)rest請(qǐng)求api示例

    python實(shí)現(xiàn)rest請(qǐng)求api示例

    這篇文章主要介紹了python實(shí)現(xiàn)rest請(qǐng)求api示例,需要的朋友可以參考下
    2014-04-04
  • python實(shí)現(xiàn)判斷一個(gè)字符串是否是合法IP地址的示例

    python實(shí)現(xiàn)判斷一個(gè)字符串是否是合法IP地址的示例

    今天小編就為大家分享一篇python實(shí)現(xiàn)判斷一個(gè)字符串是否是合法IP地址的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • python實(shí)現(xiàn)批量視頻分幀、保存視頻幀

    python實(shí)現(xiàn)批量視頻分幀、保存視頻幀

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)批量視頻分幀、保存視頻幀,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Python實(shí)現(xiàn)用戶登錄注冊(cè)

    Python實(shí)現(xiàn)用戶登錄注冊(cè)

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)用戶登錄注冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • PYQT5設(shè)置textEdit自動(dòng)滾屏的方法

    PYQT5設(shè)置textEdit自動(dòng)滾屏的方法

    今天小編就為大家分享一篇PYQT5設(shè)置textEdit自動(dòng)滾屏的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06

最新評(píng)論