Python代码获取各种路径及相对路径与绝对路径的区别

0.相对路径与绝对路径的区别

  1. 相对路径
    1、直接写文件名,如 data.txt
    2、当前路径的子路径下的文件名,如 ./resources/data.txt
  2. 绝对路径
    书写方式如 c:\pythonworkspace\data.txt

1.获取当前代码路径

'''方法一'''
import sys
path = sys.path[0] #返回当前代码绝对路径
path1 = os.path.dirname(path)  # 返回当前代码的上一目录的绝对路径,这样可以逐级返回

'''方法二'''
import os
path0 = __file__ #返回当前代码的相对路径+代码名
path1 = os.path.abspath(path0) #返回当前代码的绝对路径+代码名

path2 = os.path.dirname(path1) #返回当前代码绝对路径
path3 = os.path.dirname(path2)  #返回当前代码的上一目录的绝对路径,这样可以逐级返回
dirname, filename = os.path.split(path1)  # dirname返回当前代码绝对路径,filename返回代码名

2.获取当前工作路径

import os
path = os.getcwd() #返回当前工作路径

3.获取指定路径下特定文件

'''获取path1路径下的所有后缀为jpg的文件名,不含路径'''
label0 = os.listdir(path1) # 获取当前目录下的所有文件,不含路径
label1 = [x for x in os.listdir(path1) if x.endswith(".jpg")] # 获取后缀名为.jpg的所有文件
label2 = [x.split('.')[0] for x in os.listdir(path1) if x.endswith(".jpg")] #不含后缀名

'''获取path1路径下的所有后缀为jpg的绝对路径+文件名'''
import glob
label3 = glob.glob(path1)
label4 = glob.glob(path1+'/*.jpg')

a, b = os.path.splitext(label3[0]) # 分离路径文件名与扩展名,a返回路径文件名,b返回后缀名

xml_path = os.path.join(xml_dir, file_name + '.xml')  # 组成一个完整的文件路径
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值