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中的一个子模块,在使用的时候可以根据情况去使用其中的方法,但一定不要忘记提前导入。