最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

圖文詳解Python如何導(dǎo)入自己編寫的py文件

 更新時(shí)間:2021年11月21日 16:29:43   作者:正直的阿康  
有時(shí)候自己寫了一個(gè)py文件,想要把它導(dǎo)入到另一個(gè)py文件里面,所以下面這篇文章主要給大家介紹了關(guān)于Python如何導(dǎo)入自己編寫的py文件的相關(guān)資料,需要的朋友可以參考下

一. 想要實(shí)現(xiàn)的效果

新建文件夾將自編模塊集中管理

可在其它py文件內(nèi)import 自編模塊,像import第三方庫一樣

二. 實(shí)現(xiàn)的方法

步驟1:將編號(hào)的模塊 *.py放入文件夾,在我計(jì)算機(jī)中是:F:\OneDrive\PythonPrj\_myFunction

image-20211119224257504

步驟2:新建用戶/系統(tǒng)環(huán)境變量。

變量名:PYTHONPATH

變量值:文件夾路徑

image-20211119224404777

然后就可以實(shí)現(xiàn)想要的效果了,以下三種import方式均可。

image-20211119224828709

這樣做的原理是,Python解釋器會(huì)去以下三個(gè)位置找import的模塊:

  1. 當(dāng)前文件所在目錄
  2. 環(huán)境變量PYTHONPATH指定的目錄
  3. Python 默認(rèn)的安裝目錄

Python中sys.path變量記錄了解釋器可Import模塊的位置,如下圖所示:

image-20211120095537867

所以,可通過操作sys.path變量告訴解釋器去哪里找模塊,代碼如下:

image-20211120100202979

sys.path是個(gè)列表,這里用append將一個(gè)路徑加到了列表中,然后此路徑下的模塊a就能成功導(dǎo)入了。這種方法多寫了兩行代碼,不方便,所以只適合臨時(shí)用一下。

三. 進(jìn)階用法

如果自編的模塊多了,或者想給自編模塊加上說明文檔的話,還是希望將每個(gè)自編模塊單獨(dú)存放在一個(gè)文件夾,以便于管理維護(hù)。像這樣:

image-20211119225158325

然后在文件夾(如myPackage1)內(nèi)存放自編模塊。

image-20211119225530542

這時(shí)想導(dǎo)入模塊就要按照以下寫法:

image-20211119225614872

這是一級(jí)子文件夾的寫法,更多級(jí)文件夾可以一直點(diǎn)(.)下去。當(dāng)然,一般也就會(huì)用到一級(jí)子文件夾,二級(jí)幾乎都不會(huì)使用。

四. 使用_init_.py控制導(dǎo)入某文件夾時(shí)執(zhí)行的操作

上述的導(dǎo)入方式一次只能導(dǎo)入一個(gè)文件夾里的一個(gè)模塊,如果想控制一次導(dǎo)入文件夾中的所有模塊,而不用一個(gè)個(gè)用點(diǎn)號(hào)去點(diǎn),我們需要用到_init_.py文件。

此文件需要與模塊在同一目錄中,如下圖所示,Python中將擁有_init_.py文件的文件夾稱為包。

image-20211120203743739

每次import myPackage1時(shí),_init.py會(huì)自動(dòng)執(zhí)行一次,所以也稱為包初始化文件。利用這個(gè)特性,我們可以在此文件中寫一些代碼,用來控制導(dǎo)入文件夾myPackage1時(shí)的行為。像這樣寫這個(gè)初始化文件:

import sys# 將__init__.py文件所在目錄加入Python搜索目錄中,否則會(huì)提示找不到myModule1sys.path.append(__file__[:-12])import myModule1

然后,在其它py文件中導(dǎo)入myPackage1,因?yàn)開init_.py文件自動(dòng)執(zhí)行,myModule1文件會(huì)自動(dòng)被導(dǎo)入。驗(yàn)證一下:

image-20211120204848195

當(dāng)然,即使在包初始化文件里寫了import 某模塊,還是可以用 import myPackage1.myModule 這樣的方式來導(dǎo)入。包初始化文件不會(huì)對(duì)原本的導(dǎo)入方式有任何影響。

另一種寫法,可以一次導(dǎo)入包中某模塊中定義的函數(shù)和屬性,像這樣寫_init_.py文件:

import sys
# 將__init__.py文件所在目錄加入Python搜索目錄中,否則會(huì)提示找不到myModule1
sys.path.append(__file__[:-12])

import myModule1

然后,在其它py文件導(dǎo)入時(shí)這么寫:

image-20211120205627292

可見,可以直接使用myModule1中的定義的函數(shù)了。

總結(jié)一下,導(dǎo)入模塊的寫法與_init_.py的寫法需要保持一致,即要么都import 包名,要么都from 包名 import *,這樣才可達(dá)到想要的效果。

我對(duì)Python理解還不夠深入,僅將摸索出來的一些規(guī)律分享出來。

總結(jié)

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

相關(guān)文章

  • Python正則表達(dá)式分組概念與用法詳解

    Python正則表達(dá)式分組概念與用法詳解

    這篇文章主要介紹了Python正則表達(dá)式分組概念與用法,結(jié)合具體實(shí)例形式較為詳細(xì)的分析了Python正則表達(dá)式中分組、引用、斷言等概念與相關(guān)使用技巧,需要的朋友可以參考下
    2017-06-06
  • python 協(xié)程 gevent原理與用法分析

    python 協(xié)程 gevent原理與用法分析

    這篇文章主要介紹了python 協(xié)程 gevent原理與用法,結(jié)合實(shí)例形式分析了Python協(xié)程gevent相關(guān)概念、原理、安裝及使用操作技巧,需要的朋友可以參考下
    2019-11-11
  • Win10下python 2.7.13 安裝配置方法圖文教程

    Win10下python 2.7.13 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了Win10下python 2.7.13 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python Matplotlib條形圖之垂直條形圖和水平條形圖詳解

    Python Matplotlib條形圖之垂直條形圖和水平條形圖詳解

    這篇文章主要為大家詳細(xì)介紹了Python Matplotlib條形圖之垂直條形圖和水平條形圖,使用數(shù)據(jù)庫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • python類名和類方法cls修改類變量的值

    python類名和類方法cls修改類變量的值

    這篇文章主要介紹了python類名和類方法cls修改類變量的值,通過類對(duì)象是無法修改類變量的值的,本質(zhì)其實(shí)是給類對(duì)象新添加?name?和?age?變量,下文更多的相關(guān)介紹需要的小伙伴可任意參考一下
    2022-04-04
  • 在Django中進(jìn)行用戶注冊(cè)和郵箱驗(yàn)證的方法

    在Django中進(jìn)行用戶注冊(cè)和郵箱驗(yàn)證的方法

    這篇文章主要介紹了在Django中進(jìn)行用戶注冊(cè)和郵箱驗(yàn)證的方法的相關(guān)資料,需要的朋友可以參考下
    2016-05-05
  • 如何利用Python將html轉(zhuǎn)為pdf、word文件

    如何利用Python將html轉(zhuǎn)為pdf、word文件

    網(wǎng)絡(luò)上存在很多將HTML轉(zhuǎn)換為PDF的軟件和工具,但是大家都知道收費(fèi),所以下面這篇文章主要給大家介紹了關(guān)于如何利用Python將html轉(zhuǎn)為pdf、word文件的相關(guān)資料,文中通過示例代碼介紹介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式

    Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式

    這篇文章主要介紹了Python加載文件內(nèi)容的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • django中celery的定時(shí)任務(wù)使用

    django中celery的定時(shí)任務(wù)使用

    這篇文章主要介紹了django中celery的定時(shí)任務(wù)使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python中常用的內(nèi)置函數(shù)

    Python中常用的內(nèi)置函數(shù)

    這篇文章主要介紹了Python中常用的內(nèi)置函數(shù),主要介紹內(nèi)容有map()、filter()、all()、int()等更多相關(guān)函數(shù),需要的小伙伴可以參考一下
    2022-04-04

最新評(píng)論

中宁县| 林甸县| 阜新| 东乌珠穆沁旗| 阜平县| 襄汾县| 富源县| 定边县| 长宁县| 阜南县| 金坛市| 冀州市| 郧西县| 迁西县| 平度市| 海淀区| 时尚| 邵阳县| 手游| 平邑县| 武城县| 临高县| 扶余县| 长丰县| 眉山市| 电白县| 城步| 临潭县| 甘德县| 保定市| 铜川市| 宣汉县| 随州市| 满城县| 平罗县| 盈江县| 和平县| 尚义县| 建水县| 宁波市| 宜良县|