python中os模块和os.path模块用法举例_weixin
1 python中的os模块的应用
os模块是python标准库中访问操作系统的模块,可以适应于不同的操作系统平台,快速完成文件、目录的相关操作,如查找文件的目录,为文件创建新目录等。
1.1 os模块的部分常用属性(Windows系统)
os模块常用属性 | 属性分析 |
---|---|
os.name | 返回你电脑的操作系统(Windows系统下会返回’nt’) |
os.curdir | 指代当前目录,也可以用’.'来表示当前目录 |
os.pardir | 指代当前目录,指代当前目录的上一级目录,也可以用’. .'表示 |
os.sep | 指代当前目录,返回路径名分隔符,’//’,也可以是’’ |
os.extsep | 返回文件扩展名分隔符 , windows下扩展名分隔符为**’.**’ |
os.linesep | 返回当前平台使用的行终止符,’ ’ |
程序举例运行:
import os
1 print(os.name)
运行结果为:
nt
2 print(os.curdir)
运行结果为:
.
3 print(os.pardir)
运行结果为:
..
4 print(os.sep)
运行结果为:
5 print(os.extsep)
运行结果为:
.
6 print(os.linesep)
运行结果为(空行):
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
1.2 os模块的部分常用方法
os模块常用方法 | 相应的作用 |
---|---|
os.getcwd() | 返回当前工作目录 |
os.chdir(path) | 改变当前工作目录,path必须为字符串形式的目录 |
os.listdir(path) | 返回指定路径下的文件和文件夹列表 |
os.mkdir(path) | 创建path指定的文件夹,只能创建一个单层文件,而不能嵌套创建,若文件夹存在则会抛出异常 |
os.makedirs(path) | 创建多层目录 ,可以嵌套创建, 如果子目录创建失败或者已经存在,会抛出一个 OSError 的异常 |
os.remove(path) | 删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError |
os.rmdir(path) | 删除单层目录,遇见目录非空时则会抛出异常 |
os.removedirs(path) | 逐层删除多层目录,遇见非空则停止删除 |
os.rename(old,new) | 文件或目录old重命名为new,如果new是一个存在的目录, 将抛出OSError |
os.renames(old,new) | 用于递归重命名目录或文件 |
os.startfile (path) | 用于打开指定目录下的程序应用 |
程序举例运行:
import os
1 print(os.getcwd())
运行结果:
C:UsersAdministratorDesktop
2 os.chdir("F:/python/入门到精通资源")#改变到指定的目录
print(os.getcwd())
运行结果:
F:python入门到精通资源
3 print(os.listdir())#在2中指定的目录运行
运行结果:
['Python背记手册.pdf', 'Python面试宝典(140页).pdf', '《Python从入门到精通》PPT课件.rar', '源码.rar']
4 os.mkdir("./b")#.指的是当前工作目录
运行结果:(目录中新增一个b文件夹,下图所示)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
5 os.makedirs("./b/c/d")
运行结果:(目录中新增3个b、c、d文件夹,下图所示)
- 1
- 2
6 os.remove("./b/c/d/test.txt")#d文件夹内先新建一个txt格式的文件
运行结果:(如图为程序运行前后对比,test.txt文件已经被删除)
- 1
- 2
7 os.rmdir("./b/c/d")
运行结果:(如下图会删除d空文件夹,如果非空会报错)
- 1
- 2
8 os.removedirs("./b/c")
运行结果:(如下图,因为b和c文件夹都是空的,因此都会被删除)
- 1
- 2
9 os.rename("b","e")
运行结果:(如下图将当前目录下的b文件夹改名为e)
- 1
- 2
10 os.renames("./b/1.txt","./b/2.txt")#当前目录的b文件夹内有一个1.txt文件,现将其改名为2.txt
运行结果:(如下图,1.txt被改为2.txt;若是os.renames("./c/1.txt","./b/2.txt")相当于把C文件夹的1.txt移到b文件夹内,并命名为2.txt,若c文件夹内仅一个文件,文件夹名也不再保留)
- 1
- 2
- 3
11 os.startfile ("D:/DAOKE/DocBox/DocBox.exe")#相当于进入程序打开应用
- 1
2 python中的os.path模块的应用
os.path模块常用方法 | 相应的应用 |
---|---|
os.path.abspath(path) | 返回文件或目录的绝对路径 |
os.path.basename(path) | 返回path路径最后一个后的内容,可以为空 |
os.path.dirname(path) | 返回path路径最后一个之前的内容 |
os.path.split(path) | 返回一个(head,tail)元组,head为最后之前的内容;tail为最后之后的内容,可以为空 |
os.path.splitext(path) | 分割路径中的文件名与拓展名 |
os.path.exists(path) | 查询路径path是否存在,路径存在则返回True,路径损坏返回False |
os.path.isabs(path) | 判断是否为绝对路径 |
os.path.isdir(path) | 判断path指向的是否是文件夹 |
os.path.isfile(path) | 判断path是否指向文件 |
os.path.join(path1[, path2[, …]]) | 将两个path通过组合在一起,或将更多path组合在一起 |
os.path.getatime(path) | 返回最近访问时间(浮点型秒数) |
os.path.getmtime(path) | 返回最近文件修改时间 |
os.path.getctime(path) | 返回文件 path 创建时间 |
os.path.getsize(path) | 返回文件大小,如果文件不存在就返回错误 |
推荐阅读