python中os模块和os.path模块

点击打开在线编译器,边学边练

        我们对文件的管理是通过文件对象的方式实现的,而文件是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中的一个子模块,在使用的时候可以根据情况去使用其中的方法,但一定不要忘记提前导入。


本文固定URL:https://www.dotcpp.com/course/281

上一课:python读取文件 下一课:目录管理
第一章 人生苦短,我用Python
第二章 Python基础语法
第三章 Python入门语法
第四章 Python核心语法
第五章 函数
第六章 面向对象编程
第七章 模块
第八章 异常处理和程序调试
第九章 文件及目录操作
第十章 GUI编程
第十一章 进程和线程
第十二章 数据库管理
第十三章 算法
第十四章 爬虫
第十五章 实战篇
第十六章 后记
Dotcpp在线编译      (登录可减少运行等待时间)