OS模块
函数名 |
使用方法
|
---|
os.getcwd() | 返回当前工作目录 |
os.getenv() | 获取一个环境变量,如果没有返回none |
os.chdir(path) | 改变工作目录到path |
os.putenv(key, value) | 设置一个环境变量值 |
os.listdir(path=’.’) | 列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录) |
os.mkdir(path) | 创建单层目录,如该目录已存在抛出异常 |
os.makedirs(path) | 递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突 |
os.remove(path) | 删除文件 |
os.rmdir(path) | 删除单层目录,如该目录非空则抛出异常 |
os.removedirs(path) | 递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常 |
os.rename(old, new) | 将文件old重命名为new |
os.renames(old, new) | 递归重命名文件夹或者文件。像rename() |
os.system(command) | 运行系统的shell命令 |
os.walk(top) | 遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件]) |
os.path.basename(path) | 去掉目录路径,单独返回文件名 |
os.path.dirname(path) | 去掉文件名,单独返回目录路径 |
os.path.join(path,name) | 连接目录与文件名或目录 |
os.path.split(path) | 分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在 |
os.path.normpath(path) | 规范path字符串形式 |
os.path.splitext(path) | 分离文件名与扩展名,返回(f_name, f_extension)元组 |
os.path.getsize(file) | 返回指定文件的大小,单位是字节 |
os.path.getatime(file) | 返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
os.path.getctime(file) | 返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
os.path.getmtime(file) | 返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算) |
os.path.abspath(name) | 获得绝对路径 |
os.path.exists(path) | 判断指定路径(目录或文件)是否存在 |
os.path.isabs(path) | 判断指定路径是否为绝对路径 |
os.path.isdir(path) | 判断指定路径是否存在且是一个目录 |
os.path.isfile(path) | 判断指定路径是否存在且是一个文件 |
os.path.islink(path) | 判断指定路径是否存在且是一个符号链接 |
os.path.ismount(path) | 判断指定路径是否存在且是一个挂载点 |
os.path.samefile(path1, paht2) | 判断path1和path2两个路径是否指向同一个文件 |
以下是支持路径操作中常用到的一些定义,支持所有平台
函数名 |
使用方法
|
---|
os.curdir | 指代当前目录(’.’) |
os.pardir | 指代上一级目录(’…’) |
os.sep | 输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’) |
os.linesep | 当前平台使用的行终止符(Win下为’\r\n’,Linux下为’\n’) |
os.name | 指代当前使用的操作系统(包括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’) |
shutil 模块
函数名 |
使用方法
|
---|
shutil.copyfile(src, dst) | 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉 |
shutil.move(src, dst) | 移动文件或重命名 |
shutil.copymode(src, dst) | 只是会复制其权限其他的东西是不会被复制的 |
shutil.copystat(src, dst) | 复制权限、最后访问时间、最后修改时间 |
shutil.copy(src, dst) | 复制一个文件到一个文件或一个目录 |
shutil.copy2(src, dst) | 在copy上的基础上再复制文件最后访问时间与修改时间也复制过来了,类似于cp –p的东西 |
shutil.copy2(src, dst) | 如果两个位置的文件系统是一样的话相当于是rename操作,只是改名;如果是不在相同的文件系统的话就是做move操作 |
shutil.copytree(olddir, newdir, True/Flase) | 把olddir拷贝一份newdir,如果第3个参数是True,则复制目录时将保持文件夹下的符号连接,如果第3个参数是False,则将在复制的目录下生成物理副本来替代符号连接 |
shutil.rmtree(src) | 递归删除一个目录以及目录内的所有内容 |