文件有两个重要组成部分,分别是路径和文件名。在书写路径时,Windows系统用反斜杠\作为文件夹分隔符;而在Linux上则用正斜杠/。为了进行统一处理这两种情况,可用os.path.join()函数来处理,如
import os
os.path.join('user', 'bin')
# 'user\\bin'
os.path模块提供了关于路径名的操作,所有的方法都可以接受字节或者字符串对象作为参数。
在使用该模块前需要导入
import os
模块下的使用方法都是一样的
os.path.basename('/foo/bar') # 'bar'
该模块下的方法如下表所示
| 方法 | 作用 |
|---|---|
abspath(path) | 返回path的绝对路径名 |
basename(path) | 返回path的基本名称(最后一个斜杠之后的所有内容) |
commonpath(paths) | 返回paths中最长公共子路径 |
commonprefix(list) | 返回list中路径字符串的公共最长前缀 |
os.path.dirname(path) | 返回path的目录名称(最后一个斜杠之前的所有内容) |
os.path.exists(path) | 如果path所指的文件或文件夹存在,则返回True,否则Fales |
os.path.lexists(path) | 如果path所指的文件或文件夹存在返回True。符号链接出错返回True |
os.path.expanduser(path) | 用~或~user替换home目录 |
os.path.expandvars(path) | 返回环境变量拓展的参数 |
os.path.getatime(path) | 返回最后一次访问路径的时间 |
os.path.getmtime(path) | 返回最后一次修改路径的时间 |
os.path.getctime(path) | 返回系统的ctime |
os.path.getsize(path) | 返回path中文件的字节数 |
os.path.isabs(path) | 判断参数是否是绝对路径,如果是则返回True |
os.path.isfile(path) | 如果path存在且是一个文件,则返回True |
os.path.isdir(path) | 如果path存在且是一个文件夹,则返回True |
os.path.islink(path) | 如果path是一个存在路径的引用,则返回True |
os.path.ismount(path) | 如果path是一个悬挂点,则返回True |
os.path.join(path, *paths) | 智能连接1个或多个路径 |
os.path.normcase(path) | Windows系统把字符都转为小写,斜杠转为反斜杠;其它系统不变 |
os.path.nrompath(path) | 删除掉冗余的分隔符 |
os.path.realpath(path) | 返回文件名的真实路径,消除符号链接 |
os.path.relpath(path, start) | 返回从start路径到path路径;如果没有start参数,就是用当前工作目录作为开始路径 |
os.path.samefile(path1, path2) | 如果两个路径指向同一个文件或目录,则返回True |
os.path.sameopenfile(fp1, fp2) | 如果两个文件描述符指向同一个文件,则返回True |
os.path.samestat(stat1, stat2) | 如果两个状态指向同一个文件,则返回True |
os.path.split(path) | 返回元组,分别是路径名称和基本名称 |
os.path.splitdrive(path) | 返回元组,分别是节点名称和基本名称 |
os.path.splittext(path) | 返回元组,分别是根明或拓展名 |
更详细的内容参考python文档。
在对路径进行操作完成之后,就可以操作文件了。
Python的os.path模块提供了一套方法用于处理跨平台的路径操作,如获取路径的绝对路径、基本名称、目录名称等。它能智能地处理Windows和Linux系统的路径分隔符差异。通过os.path.join()可以合并路径,而os.path.exists()、os.path.isfile()和os.path.isdir()等方法则用于检查路径是否存在及类型。此外,还有获取文件访问和修改时间、大小等功能,方便进行文件管理。
1398

被折叠的 条评论
为什么被折叠?



