Python 絕對路徑引用

2021-08-25 08:23:33 字數 1014 閱讀 1728

python開發時經常出現找不到import物件的問題,importerror: no module named ***,一般的原因不外乎

未安裝對應依賴

引用物件的資料夾下缺失 __init__.py檔案

由於通過相對路徑的載入,導致找不到object

針對原因1和2通過安裝依賴和新增__init__.py檔案即可。原因3我們的解決方法是把相對路徑的import改為絕對路徑。

假定檔案結構如下:

project:

|__ src/

|__ main.py

|__ common/

|__ utils.py

在main.py中引用utils.py的方法,相對路徑的引用示例:

# -*- coding=utf-8 -*-

import os

import sys

# 相對路徑的import

from common.utils import *

if __name__ == "__main__":

print(os.path.dirname(__file__))

在檔案結構複雜的專案中,相對路徑的引用存在找不到引用物件的可能,為此修改為絕對路徑引用,示例如下:

# -*- coding=utf-8 -*-

import os

import sys

# 絕對路徑的import

sys.path

.dirname(os.path

.abspath(__file__)) + "/../")

from common.utils import *

if __name__ == "__main__":

print(os.path

.dirname(os.path

.abspath(__file__)))

Python中避免絕對路徑和相對路徑引用出現的問題

背景 當 工程比較大時,經常會引用不同資料夾下面的檔案,由於python和執行python 平台出現路徑引用格式的不同,會造成無法找到該檔案。解決辦法1 root dir os.path.abspath 定位執行檔案的絕對路徑,通過 的方式跳轉到指定目錄或主目錄 根據情況修改 from import...

hexagon絕對路徑

在 做什麼使用我就不說了,對大多數drivers來說都不會去接觸到,進一步的,也許拿不到要使用的版本。小問題會造成 煩。確定version oem a p build ms build.sh 或 build adspprocess.py target os.environ chipset os.en...

python相對路徑和絕對路徑

下面的路徑介紹針對windows,其他平台的暫時不是很了解。在編寫的py檔案中開啟檔案的時候經常見到下面其中路徑的表達方式 open aaa.txt open data bbb.txt open d user ccc.txt 這三種表示式裡面,前兩個都是相對路徑,第三個則是絕對路徑。絕對路徑比較好理...