導入官方模塊的時候,不需要考慮路徑問題,這是因為在搜索模塊的時候,會默認包含官方模塊的路徑,所以導入官方模塊不需要考慮路徑的問題。
如果需要導入自定義模塊,則需要了解Python導入模塊搜索的路徑。
通過sys模塊,可以知道導入模塊的路徑。
>>> import sys >>> sys.path ['', '/data/miniconda3/lib/python3.8', '/data/miniconda3/lib/python3.8/site-packages']
它返回的是一個列表,表示的是在搜索Python模塊時,會搜索的路徑,在示例中,返回了四個路徑。我們分析一些關鍵路徑:
第一個路徑是'',它是一個空字符串,表達的是當前路徑的意思。
第二個路徑是/data/miniconda3/lib/python3.8,它是Python默認模塊的存放的路徑,在這個路徑下,可以發現有os、sys等模塊的代碼。
第三個路徑是/data/miniconda3/lib/python3.8/site-packages,它是第三方模塊代碼的存放路徑,在這個路徑下,存放的是需要安裝的第三方模塊。
那如何使用我們前面定義的tools.py模塊呢?
我們在tools.py同級目錄,創建main.py文件:
# main.py import tools # 導入模塊 tools.say_hello() # 調用模塊里面的say_hello()函數 tools.say_goodbye() # 調用模塊里面的say_goodbye()函數
就可以運行了。
因為在搜索包的路徑時,會搜索當前路徑(上述:sys.path結果的第一項),因此在同一個目錄內的tools.py模塊,可以被搜索到,所以能夠import進來。
Python的sys.path返回的是一個路徑列表,因此可以操作列表里面的元素,請通過sys.path增加路徑'../',使得在運行時,可以導入當前目錄上級目錄的包。
參考答案:
import sys sys.path.append('../')
請驗證,完成請求
由于請求次數過多,請先驗證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報