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()方法把数据加载进来。
注:打开的文件一定要以二进制的形式打开。