激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - 圖文詳解Python如何導(dǎo)入自己編寫的py文件

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

2022-03-04 17:44正直的阿康 Python

有時(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:將編號的模塊 *.py放入文件夾,在我計(jì)算機(jī)中是:F:\OneDrive\PythonPrj\_myFunction

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

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

變量名:PYTHONPATH

變量值:文件夾路徑

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

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

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

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

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

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

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

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

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

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

 

三. 進(jìn)階用法

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

import myModule1

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

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

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

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

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

 

總結(jié)

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

原文鏈接:https://blog.csdn.net/weixin_42837669/article/details/121445910

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产免费一区二区三区最新不卡 | 精品久久久久久综合日本 | 一区在线免费视频 | 久久亚洲精品久久国产一区二区 | 成人在线视频精品 | 一级片999 | 综合日韩av | 一区二区三区国产在线 | 欧美囗交 | 一本色道久久综合亚洲精品图片 | 久久久噜噜噜久久熟有声小说 | av观看国产 | 伊人午夜| 黄色毛片一级视频 | 久久久久久久久成人 | 国产精品久久久久久久久久东京 | 久久人人av | 一级毛片播放 | 在线播放亚洲视频 | 亚洲成人欧美在线 | 黄色片在线免费播放 | 狠狠干夜夜草 | 色播视频在线播放 | 国产精品午夜性视频 | 欧美特级黄色 | 久久96国产精品久久秘臀 | 在线观看麻豆 | 亚洲网站免费观看 | 欧美成人一区二区视频 | 欧美一级做a | 少妇的肉体k8经典 | 欧美极品免费 | 国产精品久久久久久久av三级 | 牛牛热这里只有精品 | 久久久久久久久久久一区 | 香蕉久久久久 | 久久精品中文字幕一区 | 久久精品国产99国产精品亚洲 | 欧美成人高清视频 | 在线播放中文 | 国产午夜精品在线 |