最新消息:

少儿Python基础(7) | 文件(2)

Python 少儿编程 1561浏览 0评论
Python少儿编程02

可爱的小朋友们,上上篇我们学习了Python文件(1),今天我们接着学习Python文件的一些其他知识吧

Python有几个内置模块和方法来处理文件。这些方法被分割到例如os,os.path等模块中。下面将列举Python中对文件最常用的操作和方法。

01

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’)

02

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)

03

简洁的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

您必须 登录 才能发表评论!