1. 程式人生 > >configparser跨目錄匯入失敗解決辦法

configparser跨目錄匯入失敗解決辦法

目錄結構圖 如果你的目錄結構是類似於上圖那樣的,而你的讀取檔案的結構是如下程式碼樣式

cfp = configparser.ConfigParser()
cfp.read('config.ini','utf-8')

上圖,three是我對讀取檔案中的某個值做了一層封裝,程式碼如下:

import configparser,os

cfp = configparser.ConfigParser()
cfp.read('config.ini','utf-8')

def get_individual():
    baseurl = cfp.get('INDIVIDUAL','baseurl')
    return baseurl

然後,我會到four這個py檔案下進行呼叫get_individual這個方法,程式碼如下:

from aa import three

aa = three.get_individual()
print(aa)

這時候你執行four.py檔案,必回報錯,如下圖: 在這裡插入圖片描述 --------重點分割線-------- 出現上述錯誤的原因,讀取檔案路徑有問題(前提:你的from…import是沒錯的),你只需要把讀取檔案那裡改成絕對路徑就行了(我自己是這麼理解的。。。),程式碼如下:

path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))+'\\aa\\config.ini'

cfp = configparser.ConfigParser()
cfp.read(path,'utf-8')

再次執行,就可以成功讀取檔案了。

可以參考這個寫的更詳細http://www.cnblogs.com/benpao1314/p/9759096.html