Python中关于文件操作有两个模块,os
模块和os.path
模块,其中os模块是关于文件/目录常用的函数使用方法,os.path模块中是关于路径的一些常用函数,下面一一介绍。
1.os模块中关于文件/目录常用的函数使用方法getcwd()
返回当前工作目录chdir(path)
改变工作目录listdir(path='.')
列举指定目录中的文件名(’.‘表示当前目录,’…'表示上一级目录)mkdir(path)
创建单层目录,如该目录已存在抛出异常makedirs(path)
递归创建多层目录,如该目录已存在抛出异常,注意:'E:\a\b’和’E:\a\c’并不会冲突remove(path)
删除文件rmdir(path)
删除单层目录,如该目录非空则抛出异常removedirs(path)
递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常rename(old, new)
将文件old重命名为newsystem(command)
运行系统的shell命令walk(top)
遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件])
以下是支持路径操作中常用到的一些定义,支持所有平台os.curdir
指代当前目录(’.’)os.pardir
指代上一级目录(’…’)os.sep
输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’)os.linesep
当前平台使用的行终止符(Win下为’\r\n’,Linux下为’\n’)os.name
指代当前使用的操作系统(括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’)
在使用这些函数之前要导入os模块
这里给出一小段代码展示其中的部分函数功能:
import os
print(os.getcwd())#返回当前文件路径
print(os.listdir("C:\\"))#返回C盘路径下的文件夹名称
os.mkdir("D:\\1")#在D盘下创建一个文件夹命名为1
os.makedirs("D:\\1\\2\\3")#在D盘下递归创建文件夹1,2,3
os.rename('D:\\1\\test.txt','D:\\1\\temp.txt')#重命名文件
2.os.path模块中关于路径的函数使用方法os.path
模块不属于os
模块,是后面新加进来的basename(path)
去掉目录路径,单独返回文件名dirname(path)
去掉文件名,单独返回目录路径join(path1[, path2[, ...]])
将path1, path2各部分组合成一个路径名split(path)
分割文件名与路径,返回(f_path, f_name)元组。如果完全使用目录,它也会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在splitext(path)
分离文件名与扩展名,返回(f_name, f_extension)元组getsize(file)
返回指定文件的尺寸,单位是字节getatime(file)
返回指定文件最近的访问时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)getctime(file)
返回指定文件的创建时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)getmtime(file)
返回指定文件最新的修改时间(浮点型秒数,可用time模块的gmtime()或localtime()函数换算)
以下为函数返回 True 或 Falseexists(path)
判断指定路径(目录或文件)是否存在isabs(path)
判断指定路径是否为绝对路径isdir(path)
判断指定路径是否存在且是一个目录isfile(path)
判断指定路径是否存在且是一个文件islink(path)
判断指定路径是否存在且是一个符号链接ismount(path)
判断指定路径是否存在且是一个挂载点samefile(path1, paht2)
判断path1和path2两个路径是否指向同一个文件