日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python-import导入上级 本级 目录文件

發布時間:2025/3/8 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python-import导入上级 本级 目录文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

假設有如下目錄結構:

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

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

1.導入同級模塊

python導入同級模塊(在同一個文件夾中的py文件)直接導入即可。

import xxx

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

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

有的時候使用import net 不能正常使用 顯示沒有該模塊 這時候在模塊前面加上一個. 表示在同級目錄中。

這個時候用

from . import net from .preprocess import Preprocess

2.導入下級模塊

導入下級目錄模塊也很容易,需在下級目錄中新建一個空白的__init__.py文件再導入:

from dirname import xxx
如在file1.py中想導入dir3下的file3.py,首先要在dir3中新建一個空白的__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書寫,較為累贅,建議可以另起一個別名。

3.導入上級模塊

要導入上級目錄下模塊,可以使用sys.path:

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

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

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

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

而且這個時候只需要用一次就行了,不需要在每個模塊中都使用,因為上級目錄已經加到路徑列表中了。

打印一下路徑列表

print(sys.path)

“…”的含義:等同于linux里的‘…’,表示當前工作目錄的上級目錄。實際上python中的‘.’也和linux中一致,表示當前目錄。

4.導入隔壁文件夾下的模塊

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

這其實是前面兩個操作的組合,其思路本質上是將上級目錄加到sys.path里,再按照對下級目錄模塊的方式導入。

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

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

同時也要將上級目錄加到sys.path里:

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

5.常見錯誤及import原理:

在使用直接從上級目錄引入模塊的操作時:

from .. import xxx 經常會報錯:

ValueError: attempted relative import beyond top-level package
這是由于相對導入時,文件夾實質上充當的是package,也就是包的角色(比如我們常用的numpy、pandas都是包)。如果python解釋器沒有認同該文件夾是package,那么這就是一個普通的文件夾,無法實現相對導入。

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

文件夾中必須存在有__init__.py文件,可以為空。 不能作為頂層模塊來執行該文件夾中的py文件。

總結

以上是生活随笔為你收集整理的Python-import导入上级 本级 目录文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 成人性生交大片 | 日韩a级在线观看 | 亚洲色域网 | 在线观看日本 | 男女激情网 | 国产精品99久久 | 在线成年人视频 | 免费在线观看高清影视网站 | 91嫩草欧美久久久九九九 | 日韩综合在线视频 | 激情宗合网 | 毛片库 | 老司机一区| 国产一区二区三区播放 | 反差在线观看免费版全集完整版 | 欧美久久久久久久久中文字幕 | 亚洲精品在线播放视频 | 色77777 | 欧美jjzz | 精品中文字幕在线 | 男人天堂av网 | 精品视频一区二区在线观看 | 农村少妇久久久久久久 | 一本高清视频 | 天堂福利在线 | 中文字幕第一区综合 | 调教在线观看 | 精品久久人人 | 玩弄人妻少妇500系列视频 | 亚洲无码一区二区三区 | 男女一级特黄 | 色吧av| 成人精品在线看 | 亚洲成人偷拍 | 欧美精品一二 | 在线免费看毛片 | 成人天堂| 亚洲国产精品狼友在线观看 | 91激情视频在线 | 欧洲av一区二区三区 | 亚洲欧美一区二区三区四区五区 | 91精品国产综合久久久密臀九色 | 四色成人av永久网址 | 超碰伊人久久 | 成人午夜又粗又硬又大 | 美女一二三区 | 天天爽夜夜爽一区二区三区 | 一二三区免费视频 | 亚洲区综合 | 久久一区欧美 | 自拍偷拍999| 欧美亚洲精品在线观看 | 饥渴放荡受np公车奶牛 | 日韩欧美在线免费 | 日本欧美韩国国产精品 | 99久久99久久精品国产片果冻 | ts人妖在线观看 | 国产一区二区综合 | 三年中文在线观看免费观看 | 太久av | 日本久久影视 | 免费成人在线电影 | 国产精品成人电影在线观看 | 亚洲成年人在线观看 | 少妇性l交大片免费观看 | 三级视频在线观看 | av五月| 啪啪免费网 | 久草精品视频 | 中文字幕在线亚洲 | 国产高清不卡av | 天天看片天天射 | 亚洲无码精品免费 | 用舌头去添高潮无码视频 | 日本不卡一二三区 | 麻豆av一区二区三区久久 | 777色| 大乳女喂男人吃奶 | 在线激情| 蜜臀av免费一区二区三区水牛 | 91美女福利视频 | 91官网在线 | 一本大道久久久久精品嫩草 | 国产又粗又硬又黄的视频 | 色88久久久久高潮综合影院 | 涩涩视频在线 | 国产欧美精品一区二区色综合 | 欧美视频中文字幕 | 少妇又色又紧又黄又刺激免费 | 亚洲美免无码中文字幕在线 | 一区二区三区 欧美 | av高清不卡 | 久操免费在线视频 | 中文字幕乱妇无码av在线 | 二级毛片视频 | 中文字幕一区二区三区四区不卡 | 精品国产乱码久久久久久闺蜜 | 91av久久久 | 午夜视频免费观看 |