python相对路径库_如何最简单、通俗地理解Python的搜索路径、相对路径、绝对路径?...

目录:

一、笔记

二、我的自学路线

三、笔记目录

一、笔记

1) 搜索路径

① 能导入模块的话,表示搜索路径中有这个模块文件。

② 当你导入一个模块,Python解析器对模块位置的搜索顺序是:1. 当前目录

2. 如果不在当前目录,Python的搜索在shell变量 PYTHONPATH 下的每个目录。

3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

③ 模块搜索路径存储在system模块的sys.path变量中。变量里包含当前目录,PYTHONPATH 和由安装过程决定的默认目录。1. PYTHONPATH是通过运行shell脚本,启动python程序的,它是和python安装路径有关的内置的搜索路径,每个人的电脑的python安装路径都不一样。

2. Python搜索路径不是Python环境变量,配置python环境变量后cmd窗口可以直接调用python命令,不配置环境变量,在cmd中需要进去python所以的位置,才能运行python命令,Python环境变量和搜索路径完全不是一回事。

3. 搜索路径的最后一个元素,'C:\Users\宝贝入怀\.ipython',这也是python内置的,不用管他了,解释器。

④ 项目中主要要会往里面添加搜索路径,和查看搜索路径就好了。

import sys

print(sys.path)

运行结果:

['C:\\Users\\宝贝入怀\\Desktop\\10.11\\00_git', 'D:\\09_Anaconda\\python38.zip', 'D:\\09_Anaconda\\DLLs', 'D:\\09_Anaconda\\lib', 'D:\\09_Anaconda', '', 'D:\\09_Anaconda\\lib\\site-packages', 'D:\\09_Anaconda\\lib\\site-packages\\pip-20.2.3-py3.8.egg', 'D:\\09_Anaconda\\lib\\site-packages\\win32', 'D:\\09_Anaconda\\lib\\site-packages\\win32\\lib', 'D:\\09_Anaconda\\lib\\site-packages\\Pythonwin', 'D:\\09_Anaconda\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\宝贝入怀\\.ipython']

2) 相对路径

① 相对路径就是以当前文件为基准进行一级级目录指向被引用的资源文件。

# 方法一:当前文件的目录下的C文件夹下读取文件b.txt

with open('C\\b.txt','r',encoding='utf-8') as f: # 一个\是转义字符

print(f.read()) # 每一行都读取

运行结果:

我叫宝贝入怀

我爱学习,哈哈哈

# 方法二:当前文件的目录下的C文件夹下读取文件b.txt

with open(r'C\d.txt','r',encoding='utf-8') as f: # 前面有r就不需要转义字符\,表示里面的\不是转义字符。

print(f.read())

运行结果:

你是谁?

我是宝贝入怀

3 )绝对路径

① 绝对路径就是文件的真正存在的路径,是指从硬盘的根目录开始,进行一级级目录指向文件。

② 用绝对路径的方法会把路径写死了,如果把文件或文件夹拷贝到另外一个盘,路径就报错了。

#coding=utf-8

import os

import sys

# 方法一:

with open(r'D:\迅雷下载\q.txt','r',encoding='utf-8') as f: # 文件夹中,复制该文件的路径,最后要加文件名字,记得要加r

print(f.read())

运行结果:

我喜欢分享笔记

我喜欢交朋友

'''

不能在jupyter(或者其他交互式)中这样写。

因为__file__属性只在.py文件里有。jupyter的文件不是.py文件

把代码转移到pycharm或者直接xxx.py运行就可以了。

'''

'''

#coding=utf-8

import os

import sys

# 方法二:最好的方法 ( 字符拼接法,即使在linux系统也可用,因为\在linux系统不可用,它用的是/ )

print(__file__) # 当前文件的路径

dir = os.path.dirname(__file__) # 当前文件的文件夹的路径

path = os.path.join(dir,'C','b.txt') # os.path.join() 合并路径,自动在字符串前加\

with open(path,'r',encoding='utf-8') as f:

print(f.read())

'''

import sys

import os

print(sys.path) # 获得当前路径

# print(__file__) # 获得当前文件路径名字,打印到当前文件的路径,末端为XXXXXX/某某.py文件

# print(os.path.dirname(__file__)) # 获得当前文件的目录,没有末端的某某.py文件

# print(os.path.dirname(os.path.dirname(__file__))) # 获得当前文件的上一层的目录

# os.path.append(os.path.dirname(os.path.dirname(__file__))) # 当前文件的上一层路径添加到os.path列表中,相当于os.path.append('..')

# print(os.path) # os,path列表已添加该文件上一层文件的路径

# 注:jupyter不是.py文件,.py文件里才有内置变量__file__。

# 注:如果我想用,我就要先导入含有__file__变量的文件,才能用这个变量,要加模块名.。

运行结果:

['C:\\Users\\fullv2020\\Downloads', 'D:\\anaconda\\python38.zip', 'D:\\anaconda\\DLLs', 'D:\\anaconda\\lib', 'D:\\anaconda', '', 'D:\\anaconda\\lib\\site-packages', 'D:\\anaconda\\lib\\site-packages\\win32', 'D:\\anaconda\\lib\\site-packages\\win32\\lib', 'D:\\anaconda\\lib\\site-packages\\Pythonwin', 'D:\\anaconda\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\fullv2020\\.ipython', 'C:\\Users\\fullv2020']

import sys

import os

print(sys.path)

print(os.path.abspath('.')) # 得到当前文件所在目录的绝对路径

print(os.path.abspath('..')) # 得到当前文件所在目录的上一级目录的绝对路径

sys.path.append(os.path.abspath('..')) # 搜索路径的列表末尾添加上一级目录的绝对路径

print(sys.path) # 获得当前路径

运行结果:

['C:\\Users\\fullv2020\\Downloads', 'D:\\anaconda\\python38.zip', 'D:\\anaconda\\DLLs', 'D:\\anaconda\\lib', 'D:\\anaconda', '', 'D:\\anaconda\\lib\\site-packages', 'D:\\anaconda\\lib\\site-packages\\win32', 'D:\\anaconda\\lib\\site-packages\\win32\\lib', 'D:\\anaconda\\lib\\site-packages\\Pythonwin', 'D:\\anaconda\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\fullv2020\\.ipython']

C:\Users\fullv2020\Downloads

C:\Users\fullv2020

['C:\\Users\\fullv2020\\Downloads', 'D:\\anaconda\\python38.zip', 'D:\\anaconda\\DLLs', 'D:\\anaconda\\lib', 'D:\\anaconda', '', 'D:\\anaconda\\lib\\site-packages', 'D:\\anaconda\\lib\\site-packages\\win32', 'D:\\anaconda\\lib\\site-packages\\win32\\lib', 'D:\\anaconda\\lib\\site-packages\\Pythonwin', 'D:\\anaconda\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\fullv2020\\.ipython', 'C:\\Users\\fullv2020']

二、我的自学路线

01 安装Python编辑器 [ 已整理 ]

02 Python编译器快捷键 [ 已整理 ]

03 Python基础 [ 已整理 ]

04 Python难点 [ 整理ing ]

05 Python常用的库 [ 整理ing ]

06 爬虫 [ 看视频ing ]

三、笔记目录

( ……更多笔记,见专栏 )

"♥我的笔记,希望对你有帮助♥"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值