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

圖文詳解Python如何導入自己編寫的py文件

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

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

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

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

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

步驟1:將編號的模塊 *.py放入文件夾,在我計算機中是:F:\OneDrive\PythonPrj\_myFunction

image-20211119224257504

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

變量名:PYTHONPATH

變量值:文件夾路徑

image-20211119224404777

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

image-20211119224828709

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

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

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

image-20211120095537867

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

image-20211120100202979

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

三. 進階用法

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

image-20211119225158325

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

image-20211119225530542

這時想導入模塊就要按照以下寫法:

image-20211119225614872

這是一級子文件夾的寫法,更多級文件夾可以一直點(.)下去。當然,一般也就會用到一級子文件夾,二級幾乎都不會使用。

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

上述的導入方式一次只能導入一個文件夾里的一個模塊,如果想控制一次導入文件夾中的所有模塊,而不用一個個用點號去點,我們需要用到_init_.py文件。

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

image-20211120203743739

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

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

然后,在其它py文件中導入myPackage1,因為_init_.py文件自動執(zhí)行,myModule1文件會自動被導入。驗證一下:

image-20211120204848195

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

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

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

import myModule1

然后,在其它py文件導入時這么寫:

image-20211120205627292

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

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

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

總結

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

相關文章

  • Anaconda和Pycharm的安裝配置教程分享

    Anaconda和Pycharm的安裝配置教程分享

    這篇文章主要介紹了Anaconda和Pycharm的安裝配置教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • python中文文本切詞Kmeans聚類

    python中文文本切詞Kmeans聚類

    這篇文章主要為大家介紹了python中文文本切詞Kmeans聚類的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • python學生管理系統(tǒng)學習筆記

    python學生管理系統(tǒng)學習筆記

    這篇文章主要為大家詳細介紹了python學生管理系統(tǒng)的學習筆記,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Python實現(xiàn)的計數(shù)排序算法示例

    Python實現(xiàn)的計數(shù)排序算法示例

    這篇文章主要介紹了Python實現(xiàn)的計數(shù)排序算法,簡單描述了計數(shù)排序的算法原理并結合具體實例形式分析了Python計數(shù)排序的相關實現(xiàn)與使用技巧,需要的朋友可以參考下
    2017-11-11
  • Python 3 使用Pillow生成漂亮的分形樹圖片

    Python 3 使用Pillow生成漂亮的分形樹圖片

    這篇文章主要介紹了Python 3 使用Pillow生成漂亮的分形樹圖片,本文通過實例代碼介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • Python中int()函數(shù)的用法淺析

    Python中int()函數(shù)的用法淺析

    這篇文章主要介紹了Python中int()函數(shù)的用法淺析的相關資料,需要的朋友可以參考下
    2017-10-10
  • Python3.5模塊的定義、導入、優(yōu)化操作圖文詳解

    Python3.5模塊的定義、導入、優(yōu)化操作圖文詳解

    這篇文章主要介紹了Python3.5模塊的定義、導入、優(yōu)化操作,結合圖文與實例形式詳細分析了Python3.5模塊的定義、導入及優(yōu)化等相關操作技巧與注意事項,需要的朋友可以參考下
    2019-04-04
  • python中hasattr方法示例詳解

    python中hasattr方法示例詳解

    hasattr()函數(shù)是Python中一個非常有用的工具,可以幫助我們在運行時檢查對象的屬性或方法,通過合理地使用hasattr()函數(shù),我們可以寫出更靈活、可維護和健壯的代碼,這篇文章主要介紹了python中hasattr方法,需要的朋友可以參考下
    2023-12-12
  • 用表格幫你了解Python數(shù)據(jù)類型

    用表格幫你了解Python數(shù)據(jù)類型

    這篇文章主要為大家介紹了Python數(shù)據(jù)類型,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助<BR>
    2022-01-01
  • 詳解python深淺拷貝區(qū)別

    詳解python深淺拷貝區(qū)別

    在本篇文章里小編給大家整理了關于python深淺拷貝區(qū)別的相關知識點總結,有興趣的朋友們可以參考下。
    2019-06-06

最新評論