python基础(相对、绝对路径,模块存放及导入)

相对路径与绝对路径

相对路径:

相对于引用文件本身去定位被引用的文件地址,文件路径以当前文件所在文件夹为参考位置的路径就是相对路径,相对路径中常见的符号有.和.. . 表示在当前文件夹中 .. 表示在当前文件夹的上层文件夹中 例如:./abc.jpg ../我和老师.avi my.txt(省略了.) abc/nidaye/nidama/不能看.exe(省略了.)

绝对路径:

相对于磁盘的位置去定位文件的地址,文件路径以某个精确位置作为参考位置的路径就是绝对路径,绝对路径因环境不同,参考点也略有不同。

windows: 以某个盘符作为参考位置的路径

  • C:/window/bow...
  • D:/die/niang/jiaren.exe

linux: 以/(根)作为参照位置的路径

  • /etc/host
  • /var/apache/..

url(网址): 以服务器地址作为参照位置的路径

 

模块的存放

如果不想自己新建自定义的模块文件夹,可以将我们自定义的模块存放到 python 目录中的\Lib\site-packages中。

搜索路径就是python在加载模块时候的查找路径

1.获取当前模块的搜索路径

import sys sys.path 获取当前搜索路径的列表

2.将自定义的路径添加到列表中

sys.path.append(自定义路径)

 

例:

导入不是同级目录下的文件时的做法(以下以start.py文件导入index.py为例):

python基础(相对、绝对路径,模块存放及导入)

import os, sys

BASE_DIR = os.path.dirname(os.path.dirname(__file__))

sys.path.append(BASE_DIR)

from conf import index

index.say_hi()

 

例:

以下以bin.py文件导入main.py为例):

python基础(相对、绝对路径,模块存放及导入)

 

import sys,os

Base_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

sys.path.append(Base_DIR)

from my_module import main

if __name__ = '__main__':

      main.run()

 

例:

下面以文件夹1114/forend/f1.py文件导入文件夹1114/c.py文件,而同级目录1114/forend存在同名的c.py文件,系统就会优先找到同级目录下的文件。

当导入不同级下的同名文件时,在搜索路径列表最前面insert插入路径。系统会优先找到上层路径中的文件就不会继续往下找了。

命名文件夹名时不能和文件名重复,否则系统识别不了。

python基础(相对、绝对路径,模块存放及导入)