Python文件目录操作
一、Python打开文件
首先用Python内置的open()函数打开一个文件,创建一个file对象,然后相关的辅助方法才可以调用它进行读写。
语法:
file object = open(file_name[,access_mode][,buffering])
fp = open("c:/test/test.txt") #打开文件的句柄
fp.read() #读取test.txt文件里的内容
fp.close() #关闭文件
向文件中写入数据:
fp = open("c:/test/test.txt",'w')
fp.write("hello python")
fp.close() #关闭后才会缓冲区中的内容写入到文件中
fp = open("c:/test/new.txt",'w') #在以写的模式打开一个文件时,如果文件不存在就会新建一个文件,以写的方式,首先会清空内容,然后开始写入内容
二、Python对象的属性
一个文件被打开后,有一个file对象,你可以得到有关该文件的各种信息。以下是和file 对象相关的所有属性的列表:
三、Python文件关闭
File对象的close()方法刷新缓冲区里任何还没有写入的信息,并关闭该文件,这之后便不能再进行写入。
当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。用close()方法关闭文件时一个很好的习惯。
四、Python常用文件操作函数
read()将文件内容作为一个大的字符串全部读出来 'aaaa/nbbb/n/cccc/n'
readline()读取文件中的一行内容 'aaa/n'
readlines()将文件内容作为一个大的列表全部读出来,每个成员是文件中的某一行 ['aaa/n','bbb/n','ccccc/n']
write()将字符串写入文件
writelines(list)将列表写入文件
close()文件关闭
tell()查看当前游标位置 fp.tell()
seek(offset[,where])把文件指针移动到相对于where的offset位置,where为0表示文件开始处,这是默认值;1表示当前位置;2表示文件结尾
flush()刷新输出缓存,把缓冲区的内容写入硬盘
truncate([size])截取文件,使文件大小为size
Python flush()
一般的文件流操作都包含缓冲机制,write方法并不直接将数据写入文件,而是先写入内存中特定的缓存区。flush方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区。
五、Pyhton os模块介绍
os模块主要用于运行系统命令
import os
os.rename('file.txt','file-new.txt') #文件重命名
os.remove('file-new.txt') #删除文件
os.mkdir('test') #创建文件夹
os.rmdir('test') #删除文件夹
os.makedirs('aa/bb') #目录中包含子目录的创建
os.removedirs('aa/bb') # 删除级联目录
os.getcwd() #相当于Linux下的pwd,获取当前目录
os.chdir(os.getcwd() + os.sep +'test') #进入到某个目录
os.listdir(os.getcwd()) #相当于Linux下的ls,显示当前目录下的文件
os.path.isfile("test.txt") #判断是否是文件
os.path.isdir("test.txt") # 判断是否是文件夹
os.path.exists("test.txt") #判断文件是否存在
os.path.getsize("test.txt") #获取文件大小
os.path.abspath("test.txt") #返回文件的绝对路径
os.path.basename(os.path.abspath("test.txt")) #获取文件的文件名,注意参数需要传入绝对路径
os.path.dirpath(os.path.abspath("test.txt")) #获取文件的所在目录,注意参数需要传入绝对路径
六、Python文件递归遍历
实例:实现目录递归便利,查找以.py结尾的文件,并将文件绝对路径存入result.log文件。
提醒:列表切片功能
posted on 2017-08-08 16:18 sunshine_zhf 阅读(205) 评论(0) 编辑 收藏 举报