os的部分应用
os.path.abspath的用法
语法os.path.abspath(path) 返回绝对路径(获取当前脚本的完整路径)
ROOT_DIR = os.path.abspath("../") #返回上级目录
#例子
print(os.path.abspath(__file__))
#结果
E:\Desktop\DVS\DVSNet-master\train\test.py
> 注:'./' 当前目录
> '../' 上一级目录
> '/' 根目录
os.path.dirname的用法
print(os.path.dirname(__file__)) #去掉文件名,返回目录
#__file__(两个下划线,表示当前文件的path)
#运行结果
E:/Desktop/DVS/DVSNet-master/train
os.path.realpath的用法
返回指定文件的标准路径,而非软链接所在的路径
os.path.dirname(os.path.realpath(file))的用法
获取包含该执行语句的py文件所在的绝对路径(调用文件的位置)
print(os.path.dirname(os.path.realpath(__file__)))
绝对路径和相对路径
相对路径就是指由这个文件所在的路径引起的跟其它文件(或文件夹)的路径关系。
绝对路径是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。完整的描述文件位置的路径就是绝对路径,以web站点根目录为参考基础的目录路径。
os.path.exists 的用法
os.path.exists(path)
看文件是否存在,若path存在,则返回True;反之,False
print(os.path.exists('E:\Desktop\DVS\DVSNet-master\list'))
#结果
True
os.makedirs、os.mkdir的用法
语法:os.makedirs(name, mode=0o777, exist_ok=False) 用来创建多层目录
os.mkdir 创建单层目录
- name:你想创建的目录名
- mode:要为目录设置的权限数字模式,默认的模式为 0o777 (八进制)。
- exist_ok:是否在目录存在时触发异常。如果exist_ok为False(默认值),则在目标目录已存在的情况下触发FileExistsError异常;如果exist_ok为True,则在目标目录已存在的情况下不会触发FileExistsError异常。
原文链接:参考博客
os.path.join()
os.path.join()函数用于路径拼接文件路径;可以传入多个路径
- 会从第一个以”/”开头的参数开始拼接(并在此参数后的每一位参数后补充’’’’),之前的参数全部丢弃。
- 有多个以”/”开头的参数,从最后以”/”开头的开始往后拼接,之前的参数全部丢弃。
- 以上一种情况为先。在上一种情况确保情况下,若出现”./”开头的参数,之前的参数保留拼接并在参数后补充’’’’
print("1:",os.path.join('/sss','hhh','www.txt'))
print("2:",os.path.join('/jjj','/yyy','/aaa.txt'))
print("3:", os.path.join('nnn', 'ggg', 'jjj', './ooo'))
结果
1: /sss\hhh\www.txt
2: /aaa.txt
3: nnn\ggg\jjj\./ooo