天天看點

sys.path.append()sys.path.append(os.pardir)python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。

sys.path.append

  • sys.path.append(os.pardir)
  • python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。

sys.path.append(os.pardir)

#該函數檔案為mnist_show.py
import sys, os
sys.path.append(os.pardir)#為導入父目錄重的檔案而作的設定
#pardir代表parent directory
from dataset.mnist import load_mnist
#load_mnist為dataset檔案下的mnist.py中的函數
           

mnist_show.py檔案的目前工作目錄為ch03,但是load_mnist()函數的mnist.py檔案在dataset目錄下。是以,mnist_show.py檔案不可以跨檔案直接導入mnist.py檔案。sys.path.append(os.pardir)語句實際上是把父目錄deep-learning-from-scatch加入到sys.path(Python 的搜尋目錄子產品的路徑集中),進而可以導入deep-learning-from-scatch下的任何目錄(包括dataset目錄)中的任何檔案。

sys.path.append()sys.path.append(os.pardir)python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。
sys.path.append()sys.path.append(os.pardir)python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。
sys.path.append()sys.path.append(os.pardir)python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。

python程式中使用 import XXX 時,python解析器會在目前目錄、已安裝和第三方子產品中搜尋 xxx,如果都搜尋不到就會報錯。

使用sys.path.append()方法可以臨時添加搜尋路徑,友善更簡潔的import其他包和子產品。這種方法導入的路徑會在python程式退出後失效。

  1. 加入上層目錄和絕對路徑
import sys
sys.path.append('..') #表示導入目前檔案的上層目錄到搜尋路徑中
sys.path.append('/home/model') # 絕對路徑linux
           
  1. 加入目前目錄
import os,sys
sys.path.append(os.getcwd())
           

os.getcwd()用于擷取目前工作目錄

  1. 定義搜尋優先順序
import sys
sys.path.insert(1, "./model")
           

sys.path.insert(1, “./crnn”)定義搜尋路徑的優先順序,序号從0開始,表示最大優先級,sys.path.insert()加入的也是臨時搜尋路徑,程式退出後失效。

>>> import sys
>>> sys.platform
'win32'

>>> import platform
>>> platform.system()
'Windows'