1. 程式人生 > 程式設計 >python shell命令列中import多層目錄下的模組操作

python shell命令列中import多層目錄下的模組操作

首先在資料夾中新增_init_.py檔案,即使是空檔案也可以,多層資料夾,每層資料夾中都要新增。

比如我要import,a資料夾中,b資料夾下的 c.py

我就需要在a,b資料夾中都新增_init_.py檔案。

然後引入方式:import a.b.c

然後在呼叫c.py的函式時,直接c.f()是不行的,需要a.b.c.f()。

當然也可以先寫 c = a.b.c,然後再c.f()。

python shell命令列中import多層目錄下的模組操作

補充知識:Python IDLE shell中引入模組

安裝了Python之後,會自帶一個Python IDLE,開啟之後就是一個Python shell,在這個Python shell中想引入模組,也就是自己寫好的python指令碼檔案的話,有個路徑問題。

如果你把檔案放到安裝目錄的預設shell目錄下面,那麼引入是沒問題的,開啟File選單下的Path Browser,可以看到。

如果你的python指令碼檔案是放在自己的目錄下,比如我的D:\Projects\python目錄下,那麼引入是會失敗的:

>>> import fibo
Traceback (most recent call last):
 File "<pyshell#0>",line 1,in <module>
  import fibo
ModuleNotFoundError: No module named 'fibo'
>>> 

那麼,如何新增我們自己的專案目錄呢?就是sys.path這個變數

Python 3.7.1 (v3.7.1:260ec2c36a,Oct 20 2018,14:57:15) [MSC v.1915 64 bit (AMD64)] on win32
Type "help","copyright","credits" or "license()" for more information.
>>> import sys
>>> sys.path.append("D:\Projects\python")
>>> sys.path
['','D:\\Program Files\\Python37\\Lib\\idlelib','D:\\Program Files\\Python37\\python37.zip','D:\\Program Files\\Python37\\DLLs','D:\\Program Files\\Python37\\lib','D:\\Program Files\\Python37','D:\\Program Files\\Python37\\lib\\site-packages','D:\\Projects\\python']
>>> import fibo
>>> fibo.fib(1000)
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 

先import sys,引入sys這個模組

然後新增我們的目錄到sys.path這個列表中就可以了,接下來我們就可以引入我們專案資料夾中的模組也就是我們的指令碼檔案了。

以上這篇python shell命令列中import多層目錄下的模組操作就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。