淺談Python2、Python3相對路徑、絕對路徑導(dǎo)入方法
os.path.dirname() 獲取父目錄
os.path.basename() #獲取文件名或者文件夾名
python2缺省為相對路徑導(dǎo)入,python3缺省為絕對路徑導(dǎo)入
python2絕對路徑導(dǎo)入
from __future__ import absolute_import
python2缺省會搜索上一級目錄、上上級目錄
解決方案:
import platform pver=platform.python_version() pversion= int(pver.split('.')[0]) try: if pversion==2: print(1) from .A import aa else: print(2) from A import aa except: print(3) from A import aa
異常處理版:
try: from .A import aa print(12) except: print(22) from A import aa
其他重點
1、包之所以為包,取決于是否有__init__.py文件
2、相對路徑導(dǎo)入僅用于包內(nèi),同一個頂級包內(nèi)
3、當前目錄:
play$ python main.py
play為當前目錄
play$ python test/main.py
play/test為當前目錄
play$ python -m test.main
play為當前目錄
出現(xiàn)SystemError: Parent module '' not loaded, cannot perform relative import錯誤一個原因為包內(nèi)使用相對路徑,改用python -m可解決。
以上這篇淺談Python2、Python3相對路徑、絕對路徑導(dǎo)入方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
json 轉(zhuǎn) mot17數(shù)據(jù)格式的實現(xiàn)代碼 (親測有效)
這篇文章主要介紹了json 轉(zhuǎn) mot17數(shù)據(jù)格式的實現(xiàn)代碼 (親測有效),本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03python簡單幾步獲取各種DOS命令顯示的內(nèi)容詳解流程
你會用python獲取各種DOS命令顯示的內(nèi)容核心嗎?說的可不是返回值,是用system()函數(shù)調(diào)用windows操作系統(tǒng)的DOS命令來做點事情,需要的朋友可以參考下2021-10-10python判斷單向鏈表是否包括環(huán),若包含則計算環(huán)入口的節(jié)點實例分析
這篇文章主要介紹了python判斷單向鏈表是否包括環(huán),若包含則計算環(huán)入口的節(jié)點,結(jié)合實例形式分析了Python針對單向鏈表的遍歷、判斷相關(guān)算法原理與使用技巧,需要的朋友可以參考下2019-10-10