码丁实验室,一站式儿童编程学习产品,寻地方代理合作共赢,微信联系:leon121393608。
可爱的小朋友们,上上篇我们学习了Python文件(1),今天我们接着学习Python文件的一些其他知识吧
Python有几个内置模块和方法来处理文件。这些方法被分割到例如os,os.path等模块中。下面将列举Python中对文件最常用的操作和方法。
os模块中关于文件/目录常用的函数使用方法
|
函数名 |
使用方法 |
|
getcwd() |
返回当前工作目录 |
|
chdir(path) |
改变工作目录 |
|
listdir(path=’.’) |
列举指定目录中的文件名(’.’表示当前目录,’..’表示上一级目录) |
|
mkdir(path) |
创建单层目录,如该目录已存在抛出异常 |
|
makedirs(path) |
递归创建多层目录 |
|
remove(path) |
删除文件 |
|
rmdir(path) |
删除单层目录,如该目录非空则抛出异常 |
|
removedirs(path) |
递归删除目录,从子目录到父目录逐层尝试删除,遇到目录非空则抛出异常 |
|
rename(old, new) |
将文件old重命名为new |
|
system(command) |
运行系统的shell命令 |
|
walk(top) |
遍历top路径以下所有的子目录,返回一个三元组:(路径, [包含目录], [包含文件]) |
|
以下是支持路径操作中常用到的一些定义,支持所有平台 |
|
|
os.curdir |
指代当前目录(’.’) |
|
os.pardir |
指代上一级目录(’..’) |
|
os.sep |
输出操作系统特定的路径分隔符(Win下为’\’,Linux下为’/’) |
|
os.linesep |
当前平台使用的行终止符(Win下为’rn’,Linux下为’n’) |
|
os.name |
指代当前使用的操作系统(包括:’posix’, ‘nt’, ‘mac’, ‘os2′, ‘ce’, ‘java’) |
os.path模块中关于路径常用的函数使用方法
|
函数名 |
使用方法 |
|
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 或 False |
|
|
exists(path) |
判断指定路径(目录或文件)是否存在 |
|
isabs(path) |
判断指定路径是否为绝对路径 |
|
isdir(path) |
判断指定路径是否存在且是一个目录 |
|
isfile(path) |
判断指定路径是否存在且是一个文件 |
|
islink(path) |
判断指定路径是否存在且是一个符号链接 |
|
ismount(path) |
)判断指定路径是否存在且是一个挂载点 |
|
samefile(path1, paht2) |
判断path1和path2两个路径是否指向同一个文件
|
示例:
> os.mkdir('E:\A')> os.mkdir('F:\A')> os.mkdir('F:\A\B')> os.remove('F:\A\B\test.txt')os.rmdir('F:\A\B')> os.system('cmd')-1073741510> os.system('calc')> os.curdir'.'> os.listdir(os.curdir)['$RECYCLE.BIN', '17信管3-3', '3. 四级听力理解基础训练(新题型)', 'A','BaiduNetdiskDownload', 'boy_1.txt', 'boy_2.txt', 'boy_3.txt','girl1.txt', 'girl2.txt', 'girl3.txt', 'MediaEditor',import time> time.gmtime(os.path.getatime('F:\test.txt'))time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=6, tm_min=52,tm_sec=18,tm_wday=1, tm_yday=218, tm_isdst=0)> time.localtime(os.path.getmtime('F:\test.txt'))time.struct_time(tm_year=2019, tm_mon=8, tm_mday=6, tm_hour=16,tm_min=58, tm_sec=44, tm_wday=1, tm_yday=218, tm_isdst=0)
简洁的with
在上上篇文章python文件(1)中,每次打开文件,到最后都要写f.close()关闭文件。
而用with就不用写f.close()来关闭文件啦,因为with 会考虑关闭文件问题,并且会自动关闭。
示例:
try:with open('date.txt','w') as f:for each_line in f:print(each_line)except OSError as reason:print('出错啦!'+str(reason))
THE END

