資訊內容
python中import如何使用
使用python中import的方法:1、【import module_name】,即import后直接接模塊名;2、【from package_name import module_name】把模塊組成的集合。7tC少兒編程網-https://www.pxcodes.com
7tC少兒編程網-https://www.pxcodes.com
本教程操作環境:windows7系統、python3.9版,DELL G3電腦。7tC少兒編程網-https://www.pxcodes.com
使用python中import的方法:7tC少兒編程網-https://www.pxcodes.com
首先,先建立一個文件夾Tree作為工作目錄,并在其內建立兩個文件m1.py和m2.py,在m1.py寫入代碼:7tC少兒編程網-https://www.pxcodes.com
import os import m2 m2.printSelf()在m2.py寫入代碼:7tC少兒編程網-https://www.pxcodes.com
def printSelf(): print('In m2')打開命令行,進入到Tree目錄下,敲下python m1.py運行,發現沒有報錯,且打印出In m2,說明這樣使用import沒有問題。由此我們總結出import語句的第一種用法。7tC少兒編程網-https://www.pxcodes.com
import module_name。即import后直接接模塊名。在這種情況下,Python會在兩個地方尋找這個模塊,第一是sys.path(通過運行代碼import sys; print(sys.path)查看),os這個模塊所在的目錄就在列表sys.path中,一般安裝的Python庫的目錄都可以在sys.path中找到(前提是要將Python的安裝目錄添加到電腦的環境變量),所以對于安裝好的庫,我們直接import即可。第二個地方就是運行文件(這里是m1.py)所在的目錄,因為m2.py和運行文件在同一目錄下,所以上述寫法沒有問題。7tC少兒編程網-https://www.pxcodes.com
用上述方法導入原有的sys.path中的庫沒有問題。但是,**好不要用上述方法導入同目錄下的文件!因為這可能會出錯。演示這個錯誤需要用到import語句的第二種寫法,所以先來學一學import的第二種寫法。在Tree目錄下新建一個目錄Branch,在Branch中新建文件m3.py,m3.py的內容如下:7tC少兒編程網-https://www.pxcodes.com
def printSelf(): print('In m3')如何在m1中導入m3.py呢,請看更改后的m1.py:7tC少兒編程網-https://www.pxcodes.com
from Branch import m3 m3.printSelf()總結import語句的第二種用法:7tC少兒編程網-https://www.pxcodes.com
from package_name import module_name。一般把模塊組成的集合稱為包(package)。與第一種寫法類似,Python會在sys.path和運行文件目錄這兩個地方尋找包,然后導入包中名為module_name的模塊。7tC少兒編程網-https://www.pxcodes.com
現在我們來說明為什么不要用import的第一種寫法來導入同目錄下的文件。在Branch目錄下新建m4.py文件,m4.py的內容如下:7tC少兒編程網-https://www.pxcodes.com
def printSelf(): print('In m4')然后我們在m3.py中直接導入m4,m3.py變為:7tC少兒編程網-https://www.pxcodes.com
import m4 def printSelf(): print('In m3')這時候運行m1.py就會報錯了,說沒法導入m4模塊。為什么呢?我們來看一下導入流程:m1使用from Branch import m3導入m3,然后在m3.py中用import m4導入m4。看出問題了嗎?m4.py和m1.py不在同一目錄,怎么能直接使用import m4導入m4呢。(讀者可以試試直接在Tree目錄下新建另一個m4.py文件,你會發現再運行m1.py就不會出錯了,只不過導入的是第二個m4.py了)7tC少兒編程網-https://www.pxcodes.com
面對上面的錯誤,使用python2運行m1.py就不會報錯,因為在python2中,上面提到的import的兩種寫法都屬于相對導入,而在python3中,卻屬于絕對導入。話說到了這里,就要牽扯到import中**關鍵的部分了——相對導入和絕對導入。7tC少兒編程網-https://www.pxcodes.com
我們還是談論python3的import用法。上面提到的兩種寫法屬于絕對導入,即用于導入sys.path中的包和運行文件所在目錄下的包。對于sys.path中的包,這種寫法毫無問題;導入自己寫的文件,如果是非運行入口文件(上面的m1.py是運行入口文件,可以使用絕對導入),則需要相對導入。7tC少兒編程網-https://www.pxcodes.com
比如對于非運行入口文件m3.py,其導入m4.py需要使用相對導入:7tC少兒編程網-https://www.pxcodes.com
from . import m4 def printSelf(): print('In m3')這時候再運行m1.py就ok了。7tC少兒編程網-https://www.pxcodes.com
相關免費學習推薦:python視頻教程7tC少兒編程網-https://www.pxcodes.com
以上就是python中import如何使用的詳細內容,更多請關注少兒編程網其它相關文章!7tC少兒編程網-https://www.pxcodes.com

- 上一篇
python print()打印如何不換行
簡介pythonprint()打印不換行的方法:1、end的默認參數為換行【end= 】;2、end設置為空字符可以阻斷換行【end=】;3、end可以設置為任意字符串【end=++】。本教程操作環境:windows7系統、pyt
- 下一篇
介紹python爬取網頁
簡介之前在網上也寫了不少關于爬蟲爬取網頁的代碼,最近還是想把寫的爬蟲記錄一下,方便大家使用吧!代碼一共分為4部分:第一部分:找一個網站。我這里還是找了一個比較簡單的網站,就是大家都知道的https://movie.douban.com/top250?start=大家可以登錄里面看一下。這里大家可能會有一