Python的文件路径问题和相关方法 |
您所在的位置:网站首页 › Python的路径问题 › Python的文件路径问题和相关方法 |
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 7 天,点击查看活动详情 概念介绍:绝对路径: 绝对路径是指从盘符开始的文件全路径,一般表现为“/”。如“C:/Users/TheUser/Desktop/temp.txt”(Windows)、“/Users/TheUser/Desktop/temp.txt”(Windows)、“/home/TheUser/temp.txt”(Linux)。 相对路径: 相对路径是指从本文件开始算起的问价路径,总体长度相较绝对路径一般要短,一般表现为“./”或“../”——其中,“./”表示当前路径,“../”表示上级路径。如当前文件是“C:/Users/TheUser/Desktop/demo.py”,“./a.jpg”就表示“C:/Users/TheUser/Desktop/a.jpg”,“./img/b.png”就表示“C:/Users/TheUser/Desktop/img/b.png”,“../c.txt”就表示“C:/Users/TheUser/c.txt”“../../d.log”就表示“C:/Users/d.log” r字符串(r-String)如r'C:\Users\TheUser',r字符串会自动忽略字符串中的转义字符,常用于表示路径。 相关库os和pathlib都是Python的标准库,常用于路径操作。这是它们的官方文档:os.path --- 常用路径操作 — Python 3.11.2 文档、pathlib --- 面向对象的文件系统路径 — Python 3.11.2 文档。 本文主要介绍os、os.path的常用路径操作方法。 指令 os.system可以直接使用os.system执行系统级的Shell指令,它的返回值只有0或1,对应指令执行失败或成功,如:os.system('echo 1')就是打印1,当然也可以用它搭配相应的命令操作文件及路径。 os.popenos.popen和os.system类似,但会新开一个管道执行命令,并返回对应指令返回值。 新建 os.path.exists和os.path.lexistsos.path.exists和os.path.lexists几乎一样,它们的主要必填参数都只有一个path,作用都是检查文件是否存在,返回值为True或False。使用如 os.path.exists('C:\Users\TheUser\Desktop\tmp.txt')。而它们的区别是如果要检测的对象是个已失效的链接,os.path.exists会返回False,而os.path.lexists仍会返回True。 os.mkdir它的常用用法:os.mkdir(path),其中path为想要添加的文件夹路径。 如:os.mkdir('C:/Users/TheUser/Desktop/fd')就是在用户名为TheUser的桌面上创建一个fd文件夹。 它只能创建单层目录,如果需要创建多层目录的话则需要os.makedirs。 注意:如果创建目录之前指定路径已经有对应文件夹了,那么其会触发异常。 os.makedirs它的常用用法:os.makedirs(path),其中path为想要添加的文件夹路径,与os.mkdir不同的是,os.makedirs可以通过递归新建 如:os.mkdir('C:/Users/TheUser/Desktop/fd')就是在用户名为TheUser的桌面上创建一个fd文件夹。 它只能创建单层目录,如果需要创建多层目录的话则需要os.makedirs。 注意:和os.mkdir类似,如果创建目录之前指定路径已经有对应文件夹了,那么其会触发异常。 os.remove(path)它的常用用法:os.makedirs(path),其中path为想要添加的文件夹路径,与os.mkdir不同的是 如:os.mkdir('C:/Users/TheUser/Desktop/fd')就是在用户名为TheUser的桌面上创建一个fd文件夹。 rmdir(path) 删除单层目录,如该层目录非空则抛出异常 removedirs(path) 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常 split(path) 分割文件名与路径,返回(f_path,f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在 splitext(path) 分离文件名与扩展名,返回(f_name,f_extension)元组 rename(old,new) 将文件old重命名为new basename(path) 去掉目录路径,单独返回文件名 dirname(path) 去掉文件名,单独返回目录路径 join(path1[,path2[,…]]) 将path1,path2各部分组合成一个路径名 isdir(path) | 判断指定路径是否存在且是一个目录 | | isfile(path) | 判断指定路径是否存在且是一个文件 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |