Python:OS模块中有关路径的函数

os全名为operating system(操作系统),Python中的os模块封装了常见的文件和目录操作。

python中文文档:https://docs.python.org/zh-cn/3.8/index.html

1 os.path

1.1 os.path.exists(path)

os.path模块主要用于文件的属性获取,exists是“存在”的意思,所以顾名思义,os.path.exists()就是判断括号里的文件是否存在的意思,括号内的可以是文件路径。如果 path 指向一个已存在的路径或已打开的文件描述符,返回True。对于失效的符号链接,返回False。

栗子:‘../MNIST’指上一层下的MNIST文件夹

代码: 

# code

import os

path = os.path.exists('../MNIST')  # 括号的的参数为MNIST文件路径,判断其是否存在
print(path)


# result

True
 
Process finished with exit code 0

如果不存在,返回的则是False。

1.2 os.path.join(path*paths)

这个函数能够将一个或多个子路径智能的合并在一起,返回值是包含将path和*path中的所有成员全部用一个文件连接符(os.sep)连接而成的一个字符串,当然了,如果最后一个元素为空,返回值会以一个文件连接符(分隔符)结尾。 

如果当前子路径是一个绝对路径,所有之前的子路径将会被忽略,而会以当前这个绝对路径为开头连接接下来的子路径。

注意:会以最后一个绝对路径为返回值的起始路径。

栗子:

import os

In:os.path.join('/my/', 'name/is/', 'XIAO_AI')
Out:'/my/name/is/XIAO_AI'

In:os.path.join('/my/', 'name/is/', '/XIAO_AI')
Out: '/XIAO_AI'

In: os.path.join('/my/', '/name/is/', 'XIAO_AI')
Out: '/name/is/XIAO_AI'

学习中遇到的错误:

import os

data_path = '../data/test'

path1 = os.path.join(data_path, 'images/', '001.jpg')
path2 = data_path + '/images/' + '001.jpg'
path3 = os.path.join(data_path, 'images', '001.jpg')
path4 = os.path.join(data_path, '/images', '001.jpg')

print(path1)
print(path2)
print(path3)
print(path4)


# result

/Users/i-mamba/opt/anaconda3/envs/DeepLearning/bin/python3.7 /Users/i-mamba/修仙之路/代码篇/手提包检测分割/codes/question.py
../data/test/images/001.jpg
../data/test/images/001.jpg
../data/test/images/001.jpg
/images/001.jpg

Process finished with exit code 0

注:从代码可以看出,path1与path2、path3是等价的。而path4不等价。os.path.join会自动补充‘/’。从最后一个以‘/’为开始的名字作为起始。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值