python学习笔记分享(十五)文件

IT Xiao Ang Zai 8月1号

现在,让我们进行继续今天的python学习:

版本:python3.64

编程软件:pycharm

下面介绍一些关于文件操作的一些方法:

一:open()

作用:这个函数用于打开文件并返回文件对象。

open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)

参数:这个方法参数有很多,但我们只关注第一个和第二个参数即可。

第一个参数是传入的文件名,如果只有文件名,不带路径的话,那么python会在当前文件夹中去找到该文件并打开,如果文件不存在,我们就要看第二个参数。

第二个参数指定文件打开模式,如下所示:

                     打开模式                       执行操作                         
                           'r'           以只读方式打开文件(默认)
                           'w'           以写入的方式打开文件,会覆盖已存在的文件

                           'x'

          如果文件已经存在,使用此模式打开将引发异常
                           'a'           以写入模式打开,如果文件存在,则在末尾追加写入
                           'b'           以二进制模式打开文件
                           't'           以文本模式打开(默认)
                           '+'           可读写模式(可添加到其他模式中使用)
                           'U'           通用换行符支持

使用open()成功打开一个文件后,会返回一个文件对象,用这个文件对象就可以对文件进行操作。

二:文件对象的方法

对返回的文件对象,有一些方法:

                文件对象的方法                      执行操作
                        close()       关闭文件
                        read(size=-1)       从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
                        readlines()       从文件中读取一整行字符串
                        write(str)       将字符串str写入文件
                        writelines(seq)       向文件写入字符串序列,seq应该是一个返回字符串的可迭代对象
                       seek(a,b)       在文件中移动文件指针,从a(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移b个字节
                       tell()        返回当前在文件中的位置

注:1个中文字符占2个字节。

三:文件系统

下面讲些和文件有关的一些模块(每一个python文件就是一个模块)

1.OS模块

OS就是Operating System的缩写,就是操作系统。对于文件系统的访问,python一般是用OS模块来实现的。

下面介绍一些常用方法:

<1>getcwd()

作用:获得应用程序当前的工作目录(比如要保存临时文件)。

<2>chdir(path)

作用:改变当前工作目录。

<3>listdir(path = '.')

作用:用于列举当前目录下的所有文件和子目录,path参数用于指定列举的目录。

<4>mkdir(path)

作用:用于创建文件夹,如果文件夹存在,则抛出FileExistsError异常。

<5>makedirs(path)

作用:用于创建多层目录。

<6>remove(path),rmdir(path),removedirs(path)

作用:

remove()用于删除文件。

rmdir()用于删除目录。

removedirs()用于删除多层目录。

<7>rename()

作用:用于重命名文件或文件夹。

<8>system(command)

作用:用于使用一些操作系统的小工具。

<9>walk(top)

作用:遍历参数指定路径下的所有子目录,并将结果返回一个三元组(路径,[包含目录],[包含文件]).

另外path模块还提供了一些很实用的定义,分别是:os.curdir表示当前目录,os.pardir表示上一级目录('..'),os.sep表示路径的分隔符(例如Windows系统下的'\\',Linux下为'/'),os.linesep表示当前平台使用的行中止符(在Windows下'\r\n',Linux下为'\n'),os.name表示当前使用的操作系统。

2.os.path模块

该模块可以完成一些针对路径名的操作。

下面介绍一些常用方法:

<1>basename(path)和dirname(path)

作用:

basename()用于获得文件名,

dirname()用于获得路径名。

<2>join(path1,path2

作用:用于将路径名和文件名组合成一个完整的路径。

<3>spilt(path)和splitext(path)

作用:

spilt(path)用于分割路径和文件名(如果完全使用目录,它会将最后一个目录作为文件名分离,且不会判断文件或者目录是否存在),

spiltext()用于分割文件名和扩展名。

<4>getsize(file)

作用:用于获取文件的尺寸,返回值以字节为单位。

<5>getatime(file),getctime(file),getmtime(file)

作用:分别用于获得文件的最近访问时间,创建时间和修改时间,返回值是浮点型秒数,可用time模块的gmtime()或localtime()函数换算。

3.pickle模块

该模块把所有python对象都转换为二进制形式存放,这个过程称为picking,那么从二进制形式转换回对象的过程称为unpicking。

用dump方法来保存数据,使用时只需用二进制模式先把文件打开,然后用load()方法把数据加载进来。

注:打开的文件一定要以二进制的形式打开。

猜你喜欢

转载自blog.csdn.net/ITxiaoangzai/article/details/81336090