0 使用方式选择

功能需求 推荐模块 注释
读写文件 内置函数 open()
路径相关 os 模块 os.path + 强大的可移植性
+ 不能将os解包,会覆盖open()
逐行读取多个文件 fileinput 模块
创建临时文件或路径 tempfile 模块
进行更高级文件路径操作 shutil 模块

0.1 各种常用返回值

0.1.1 返回文件的信息

  1. import os
  2. # ----------------- <返回文件的绝对路径> ----------------- #
  3. a = os.path.realpath(__file__) # ----当前文件的绝对路径
  4. a = os.__file__ # ----------------------指定包的绝对路径
  5. # --------------- <返回文件的父文件夹路径> --------------- #
  6. b = os.path.split(a)[0] # -----------------------方法一
  7. c = os.path.dirname(a) # -----------------------方法二

1 os 模块

os就是“operating system”的缩写,顾名思义,os模块提供的就是各种 Python 程序与操作系统进行交互的接口。os 模块提供了非常丰富的方法用来处理文件和目录。


1.1 常用功能(不常用,暂不学)

Python OS 文件/目录方法 | 菜鸟教程

python中os模块详解_python标准库OS模块详解_weixin_39847099的博客-CSDN博客

1.1.1 常用方法/函数

方法/函数 说明
os.getcwd() 返回当前Python脚本工作的目录路径
os.listdir() 返回指定目录下的所有文件和目录名

1.1.2 常用属性

属性 说明 返回值 注释
name 返回 python 运行所在环境 posix:Linux/Mac os
nt:Windows
java:Java 虚拟机
+ <font style="color:rgb(77, 77, 77);">sys.platform</font>可获得更多信息;
environ 返回环境相关的信息 一个映射 + 不会,看不懂

1.2 os.path 模块

os.path 模块主要用于获取文件的属性,是用来处理包含路径分隔符的模块。

斜杠 / linux 系统下的路径分隔符
反斜杠 \ windows 系统下的路径分隔符

Python os.path() 模块 | 菜鸟教程

1.2.1 常用方法/函数

使用次数 方法/函数 说明 代码 返回 注释
basename(path) 提取 文件名 os.path.basename('a/b/c.txt') 字符串 c.txt
dirname(pathname) 目录路径 os.path.dirname('a/b/c.txt') a/b
os.path.join('a/b/c') a/b/c
os.path.join('a/b/') a/b/
abspath(path) 绝对路径生成函数,支持特殊路径 os.path.abspath('.') 未测试
os.path.abspath('..')
os.path.abspath('c.txt'
1 realpath(path) 把路径分割符按照操作系统替换 print(__file__)
os.path.normpath(__file__)
1 join(path1, path2, ...) 合并 把所有参数合并成一个路径字符串 os.path.join('a', 'b', 'c.txt') a/b/c.txt
os.path.join('a', 'b', 'c') a/b/c + path.join + sys.path 用法
1 split(path) 分割 路径和文件名,即最后一个/左右两部分 os.path.split('a/b/c.txt') 元组 ('a/b', 'c.txt')
os.path.split('a/b/c') ('a/b', 'c')
os.path.split('a/b/') ('a/b/', '')
splitext(path) 扩展名分隔符,即最后一个.左右两部分 os.path.splitext('a/b/c.txt') ('a/b/c', '.txt')
os.path.splitext('a/b/c') ('a/b/c', '')
splitdrive(path) 驱动名分隔符,即第二个字符必须是/ 未测试
exists(path) 判断 文件路径路径是否存在 os.path.exists('a', 'b', 'c.txt') 布朗值 未测试
isfile(path) 文件路径是否是一个文件 os.path.isfile('a', 'b', 'c.txt')
isdir(path) 文件路径是否是一个目录 os.path.isdir('a', 'b', 'c.txt')
islink(path) 文件路径是否是一个链接符号 os.path.islink('a', 'b', 'c.txt')
isabs(path) 文件路径是否是一个绝对路径 os.path.isabs('a', 'b', 'c.txt')
ismount(path) 文件路径是否是一个挂载点 os.path.ismount('a', 'b', 'c.txt')

1.2.2 属性

使用次数 属性 说明 返回 注释
lexists 判断 路径是否存在 布朗值 True/False + 参考exists(path)方法;

2 sys 模块


2.1 常用功能(不常用,积累中)

2.1.1 常用方法/函数

使用次数 方法/函数 说明 代码 返回

2.1.2 属性

使用次数 属性 说明 返回 注释
1 path 返回 包含输入模块的目录名列表。 列表 + path.join + sys.path 用法
  1. path = os.path.join(sys.path[1], '') + 'source\\img\\'
  2. # sys.path[1]可以返回项目路径