python的路径问题

本文介绍了在Python编程中,/和在路径表示上的区别,以及如何使用os库进行绝对路径和相对路径的操作,如getcwd(),chdir(),abspath(),join()等,并通过实例演示了这些功能的应用。
摘要由CSDN通过智能技术生成

一、/和\的区别

常用’/‘来表示相对路径,’\‘来表示绝对路径,路径里\\是转义的意思

绝对路径,用反斜杠 \

E:\test

E:\test\file

E:\test\file\data

网页网址和linux、unix系统下一般都用’/‘

二、绝对路径和相对路径

例如当前操作的py文件位于E:\test\file中
./ 表示当前路径,相当于E:\test\file
../ 表示当前路径的上一级路径,相当于E:\test
../../ 表示当前路径上上一级路径,相当于E:

三、os库操作

# 当前路径
>>> import os
>>> os.getcwd()
'E:\\Coding\\pycharm\\cifar10'

# 修改当前工作目录
>>> os.chdir("C:\\Windows")
>>> os.getcwd()
'C:\\Windows'
 
# 返回 path 参数的绝对路径的字符串
os.path.abspath(".") ,获取当前文件所在路径;
os.path.abspath("..") ,获取当前文件所在路径的上一层路径;
# 可用于将相对路径转换为绝对路径 (当path = '.'时,表示当前工作目录)
>>> os.getcwd()
'E:\\Coding\\pycharm\\cifar10'
>>> os.path.abspath(".")
'E:\\Coding\\pycharm\\cifar10'
>>> os.path.abspath("..")
'E:\\Coding\\pycharm'

# 路径拼接
os.path.join() 函数中可以传入多个路径:
1.如果各组件名首字母不包含 ‘/’,则函数会自动加上;
2.会从第一个以“/”开头的参数开始拼接,之前的参数全部丢弃;
3.优先判定上一种情况。若无,则如果出现“./”开头的参数,会从“./”开头的参数的上一个参数开始拼接;
>>> print('1:', os.path.join("aaa", "bbb", "ccc.txt"))
1: aaa\bbb\ccc.txt
>>> print('2:', os.path.join("aaa", "/bbb", "ccc.txt"))
2: /bbb\ccc.txt
>>> print('3:', os.path.join("aaa", "./bbb", "ccc.txt"))
3: aaa\./bbb\ccc.txt


d = os.path.dirname(__file__)  #返回当前文件所在的目录    
# __file__ 为当前文件, 若果在ide中运行此行会报错,可改为  #d = os.path.dirname('.')

#获得d所在的目录,即d的父级目录  
parent_path = os.path.dirname(d) 

#获得parent_path所在的目录即parent_path的父级目录
parent_path  = os.path.dirname(parent_path) 

eg:
>>> path = "C:\\Windows\\system32\\xcopy.exe" 
>>> os.path.dirname(path) = os.path.dirname(__file__)
'C:\\Windows\\system32'
>>> os.path.basename(path)
'xcopy.exe'
>>> os.path.split(path)  # 相当于前两个函数的组合使用
('C:\\Windows\\system32', 'xcopy.exe')

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值