我们对文件的管理是通过文件对象的方式实现的,而文件是Python中os模块,我们在管理文件或目录的时候,就需要使用Python中的os模块,os模块中有非常多的方法来帮助我们处理文件及目录。

1. os模块

常用的os方法如下表格:

方法
功能

os.access(path, name)

特权模式

os.chdir(path)

改变当前工作目录

os.chflags(path, flags)

设置路径的标记为数字标记

os.chmod(path, name)

更改权限

os.chown(path, uid, gid)

更改文件所有者

os.chroot(path)

改变当前进程的根目录os.close(x)

os.close(x)

关闭文件

os.fchdir(x)

通过文件描述符改变当前工作目录

os.getcwd()

返回当前工作目录

os.listdir(path)

返回当前目录下的所有文件及文件夹的列表

os.mkdir(path[,name])

创建一个名字为name的文件夹名

os.open(file)

打开一个文件

os.remove(path)

删除path路径的文件

os.rename(src,dst)

修改文件名,src为源文件,dst为目标文件

os.rmdir(path)

删除path对应的目录

还有一些简单的os模块中内容我们在这里举例子来看一下:

>>> import os
>>> os.name#返回nt为windows,posix为Linux、Unix或mac os。
>>> os.linesep#当前系统的换行符
'\r\n'
>>> os.sep#当前系统的分隔符
'\\'
>>> os.name
'nt'

2. os.path模块

os.path是一个针对路径的模块,模块内提供对文件、目录和路径管理的函数,常见的函数如下表格:

os.path.abspath(path)

返回路径名路径的规范化绝对化版本

os.path.basename(path)

返回路径名路径的基名称

os.path.commonprefix(list)

返回序列路径中每个路径名的最长公共子路径

os.path.dirname(path)

返回路径名路径的目录名

os.path.exists(path)

如果路径引用现有路径或打开的文件描述符,则返回True,中断的符号链接返回Flase

os.path.lexists

如果路径引用现有路径,则返回True

os.path.expanduser(path)

返回参数,初始组件为~或~user替换为该用户的主目录

os.path.expandvars(path)

返回环境变量展开的参数

os.path.getatime(path)

返回路径的最后访问时间

os.path.getmtime(path)

返回上次修改路径的时间

os.path.getctime(path)

返回文件 path 的创建时间

os.path.getsize(path)

返回路径的大小,以字节为单位

os.path.isabs(path)

如果路径是绝对路径名,则返回True

os.path.isfile(path)

如果路径是文件,则返回True

os.path.isdir(path)

如果路径是目录,则返回True

os.path.islink(path)

如果路径是链接,则返回True

os.path.ismount(path)

如果路径是挂载点,则返回True

os.path.join(path1[, path2[, ...]])

把目录和文件名合成一个路径

os.path.normcase(path)

转换path的大小写和斜杠

os.path.normpath(path)

规范path字符串形式

os.path.realpath(path)

返回path的真实路径

os.path.relpath(path[, start])

计算相对路径

os.path.samefile(path1, path2)

判断目录或文件是否相同

os.path.sameopenfile(fp1, fp2)

判断fp1和fp2是否指向同一文件

其中最常用的几种分别是abspath()、exists(path)、join(path,name)、basename(path)、dirname(path)、isdir(path),我们来看个例子。

import os
print('当前目录:',os.getcwd())
print('判断当前目录是否存在,存在的话返回True',os.path.exists(os.getcwd()))

输出结果为:

当前目录: C:\Users\teach
判断当前目录是否存在,存在的话返回True True

3. 总结

我们在使用的过程中,涉及路径的我们可以采用os.path模块中的方法,我们在导入的时候采用的方式都是import.os,os.path属于os中的一个子模块,在使用的时候可以根据情况去使用其中的方法,但一定不要忘记提前导入。


点赞(0)

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

Dotcpp在线编译      (登录可减少运行等待时间)