os.path.dirname() 获取父目录
os.path.basename() #获取文件名或者文件夹名
python2缺省为相对路径导入,python3缺省为绝对路径导入
python2绝对路径导入
1
|
from __future__ import absolute_import
|
python2缺省会搜索上一级目录、上上级目录
解决方案:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
|
异常处理版:
1
2
3
4
5
6
|
try :
from .A import aa
print ( 12 )
except :
print ( 22 )
from A import aa
|
其他重点
1、包之所以为包,取决于是否有__init__.py文件
2、相对路径导入仅用于包内,同一个*包内
3、当前目录:
play$ python main.py
play为当前目录
play$ python test/main.py
play/test为当前目录
play$ python -m test.main
play为当前目录
出现SystemError: Parent module '' not loaded, cannot perform relative import错误一个原因为包内使用相对路径,改用python -m可解决。
以上这篇浅谈Python2、Python3相对路径、绝对路径导入方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/jacke121/article/details/77347432