Python 文件与目录操作

 

Python 文件与目录操作

引用请注明出处:http://blog.whiledo.com/archives/424

目录 

手册明细

文件操作的基本思路: file创建文件句柄-->处理文件-->close()关闭文件句柄
1.关于文件的缓冲区疑问(什么是缓冲区?有什么用?)
2.如果文件读取完之后文件指针会处于文件末.也就是说没有内容了.如果需重新读取那就的重新打开一次文件
3.文件的创建、读写、修改(使用内建模块的file类实现)
①:创建文件/打开文件--file(name[,mode[,buffering]])//同名方法open()功能与参数与这个file()相同
这个函数用于打开文件name,mode是打开文件的模式(r,r+,w,w+,a,a+),buffering则是缓冲设置(0,1,n)返回一个文件操作对象

mode:(默认是r)
r 只读,以模式打开文件后不能写入,如果文件不存在则返回错误信息
r+ 读写,既能读取又能写入,文件不存在抛出异常,以此模式打开文件不会清空原有内容,但是写入后会先清空原内容再写入
w 写入,以此模式打开文件后会清空原文件内容,如果文件不存在则自动创建
w+ 同上(具体不同现不了解)
a 写入,不同于w,此模式打开文件不会清空原文件内容,而是在原有内容上追加写入的内容,文件不存在自动创建
a+ 读写,同上(具体不同现不了解)
buffering:(默认是0)
0,不开启缓冲
1,开启行缓冲
大于1的数值则表示开启指定数值大小的缓冲区(单位是byte)

②:文件读写/文件修改--read([size])、readline([size])、readlines([size])、write(string)、writelines(sequence_of_strings)

read([size])         读取文件中的size字节大小的内容返回为字符串,默认是读取整个文件
readline([size])      按行读取文件的内容,也就是说每次操作读取一行,但指定size后每次行读取操作只读取size字节大小的剩下的行内容下次操作继续按size字节大小读取,返回字符串
readlines([size]) 同上,唯一不同的是此函数一次把文件所有行内容以列表返回,列表的每个元素就是文件每一行
write(string)         写入字符串string到文件中
writelines(seqence_of_string)     写入字符串序列到文件中

file类的常用属性:

close                   文件的打开与关闭状态,如果文件句柄没关闭返回False,已关闭则返回True
encoding            文件的编码类型
mode                  文件的打开模式
name                 文件名称
newlines             文件的换行模式

file类的常用方法:

flush()              把缓冲区写入磁盘
close()              关闭文件句柄,释放句柄指针
read([size])       读取文件中size字节大小的内容以字符串返回
readline([size])     按行返回文件内容,即每次操作读取一样,如果指定size则每次行只操作size字节的读取,下次操作继续读取剩下行内容
readlines([size])    按序列返回文件的每行内容,如果指定size则表示每行读取size字节返回,行的剩下内容继续按size字节进行读取
seek[offset[,whence]]     以whence指定的数值为参照移动文件句柄的指针offset个位置(默认1),whence(默认0)为0表示从文件头开始,1表示从当前位置开始,2表示从文件末开始
tell()                  返回文件指针当前的位置
next()                手动操作一次文件的读取,此时文件指针会移动一位
trumcate([size]) 删除size字节的内容--(?从文件头开始删除?)
write(string)     把字符串string写入到文件中
writelines(sequence_of_string)    把字符串序列写入到文件中

4.文件的复制、移动、删除、重命名

os模块常用文件处理函数: access(path,mode) 按mode权限访问path指定的文件 chmod(path,mode) 改变path指定的文件访问权限为mode open(filename,flag[,mode]) 按mode的权限打开文件,mode默认为0777(可进行读、写、执行操作) remove(path) 删除path指定的文件 rename(old,new) 重命名目录或文件,old为原文件或目录名称,new为新文件或目录名称 stat(path) 返回path指定文件的所有属性 fstat(path) 返回打开文件的所有属性 lseek(fd,pos,how) 设置文件的当前位置,返回文件当前位置的字节数 startfile(filepath[,operation]) 以文件的关联程序打开文件 tmpfile() 在系统的临时目录创建一个临时文件 os.path模块中的常用函数: abspath(path) 返回path所在的绝对路径 dirname(path) 返回path的目录名称 exists(path) 判断path是否存在,存在返回True,反之False getatime(filename) 返回filename的最后访问时间 getctime(filename) 返回filename的创建时间 getmtime(filename) 返回filename的最后修改时间 getsize(filename) 返回filename的大小 isabs(path) 判断path是否为绝对路径,是返回True(就算path不存在)反之False isdir(path) 判断path是否为目录,是返回True反之False(如果path不存在也返回False哦) isfile(path) 判断path是否问文件,是返回True反之False(如果path不存在也返回False哦) split(path) 对path进行路径分割,返回一个以路径、非路径这个两个元素组成的元组 splitext(path) 从path中分割扩展名名称返回两个元素的元组(非扩展名名称、扩展名名称) splitdrive(path) 从path中分割驱动器名称返回两个元素的元组(驱动器名称、非驱动器名称) walk(top,func,arg) 遍历目录,与os.walk()功能相同 文件的复制: >>> import shutil >>> shutil.copyfile('d:/src/test.txt','d:/dst/test.txt') #使用shutil模块的copyfile(src,dst)方法复制src中的文件为dst,上面从d:/src/复制test.txt到d:/dst/目录中 文件的移动: >>> import shutil >>> shutil.move('d:/code/test.txt','d:/') #使用shutil模块的move(src,dst)方法移动src到dst,上面移动了test.txt到d盘根目录中 文件重命名: >>> import os >>> os.rename('d:/code/test.txt','d:/code/test2.txt') #使用os模块的rename(old,new)方法对原文件或目录old重命名为new(重命名也间接的移动文件哦!) 文件的删除: >>> import os >>> os.remove('d:/code/test.txt') #使用了os模块的rename(path)方法删除path指定的文件,这里删除了d:/code/目录中的test.txt文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值