各系统的路径符号
常见的三种系统windows、mac os、Linux在路径上只有windows系统文件命令不区分大小写,其他两种区分大小写。
windows的路径用反斜杠分隔 \ (python的 \ 代表转义字符,因此在写路径时要用\或在路径字符串前加上r转为原始字符串。),另外两种系统用斜杠(/)分隔(os模块的os.sep变量存储这当前系统的路径分隔符)。
windows路径示例:C:\Users\Desktop 。在python中使用 ‘C:\Users\Desktop’或 r’C:\Users\Desktop’
python中的os.path.join()函数,可以通过输入参数来自动给出正确的路径字符串(只是返回路径的字符串,这个路径在实际中可能不存在)。
os.path.join() 用法:
import os
#os.path.join()用于路径拼接
os.path.join('usr','a','b','c') # usr\\a\\b\\c
os.path.join(r'C:\Users\Desktop','text.txt') # C:\\Users\\Desktop\\text.txt
命令行运行结果:
路径的类型
绝对路径:从根目录开始的路径(windows环境从盘符开始的路径)
相对路径:这个相对的参考是程序所在的目录,相对路径就是相对于程序的路径(一般表现问以 .\ 或 …\ 开头,有时. \ 可省略 )。
.\ 代表当前目录(当前文件夹)
…\ 代表父级目录(父文件夹)
- 相对路径转绝对路径 os.path.abspath(‘相对路径’) 返回绝对路径字符串
- 判断路径是否是绝对路径 os.path.isabs(‘路径’) 返回bool值
- 找出由一个文件到另一个文件的相对路径 os.path.relpath(‘目标文件路径’,‘起始文件路径’) 返回一个相对路径,第二个参数不指定默认为当前目录。
- 判断路径是否存在 os.path.exists(‘路径’) 返回一个bool值
常用文件操作
- 获取当前工作目录(所写程序所在目录)os.getcwd()
- 改变当前工作目录 os.chdir(’路径‘)
- 获取路径字符串(最后一个分隔符以前的字符串)os.path.dirname(‘路径’)
- 获取文件名(最后一个分隔符以后的字符串)os.path.basename(‘路径’)
- 获取文件扩展名 os.path.splitext(‘路径’)
- 获取路径和文件名 os.path.split(‘路径’) 返回一个元组,元组中有两个元素路径和文件名。
- 查看文件夹下的子文件 os.listdir(‘路径’) 返回一个由文件夹子文件名组成的列表,通过此函数可用for循环变量所有子文件(可以用来判断文件夹是否为空)。
- 新建文件夹 os.makedirs(‘路径’) 此函数会将路径中的所有没有创建的文件夹创建出来。
- 删除一个文件(是文件而不是文件夹)os.remove(‘路径’)
- 删除一个文件夹(文件夹必须为空的)os.rmdir(‘路径’)
- 删除文件夹(非空)可以用shutil模块的shutil.rmtree(‘路径’)
- 删除文件夹(非空)os.systrem(‘rm 路径’)。os.system()方法可以传任何想要系统的命令行命令。
- 文件重命名 os.rename(‘原名’,‘新名’)
- 判断是否是文件 os.path.isfile(‘路径’) 返回一个bool值
- 判断是否是一个目录 os.path.isdir(‘路径’) 返回一个bool值