Python 文件读取

来源:互联网 发布:centos 6.5 配置yum 编辑:程序博客网 时间:2024/06/03 15:27
#coding=UTF-8#需求:读取日志文件,统计错误行数,写入日志#封装:读文件的三种方式class File_op():    def __init__(self,path,mode):        self.path=path        self.mode=mode        self.file=open(self.path,self.mode)    #1、readines,读全部内容,并返回一个列表。    def read_line1(self):        #将每一行读取为list形式        lines=self.file.readlines()        return lines    def str_op1(self,lines=[]):        j=0        #遍历每一行,匹配字符串切片,是否以[error]开头        for line in lines:            line=str(line)            if line[0:7]=="[error]":                print "第%s行,是错误日志"%(lines.index(line))                j+=1            else:                pass        return u"共有%s行错误日志"%j    #2、逐行读取    def read_line2(self):        line=self.file.readline()        j=0        while line:            if line[0:7]=="[error]":                j+=1            line=self.file.readline()        return u"共有%s行错误日志"%j    #3\for line in file:    def read_line3(self):        j=0        for line in self.file:             if line[0:7]=="[error]":                j+=1        return u"共有%s行错误日志"%j    # read()    def read(self,size):        return self.file.read(size)    # write()    def write(self,str):        self.file.write(str)        self.close_file()    # close    def close_file(self):        self.file.close()path="E:\PycharmProjects\untitled\jclx\error.log"mode="a"f=File_op(path,mode)# print f.read(10)# str="11111111111111\n"f.write(str)
# 题一:# 将1-9的数组成正方形输入到文件中a = [1,2,3,4,5,6,7,8,9] tmp = [] for i in range(0,len(a),3):  tmp.append(str(a[i])+","+str(a[i+1])+","+str(a[i+2])+"\n") file("./a.txt",'w').writelines(tmp)
1,2,34,5,67,8,9
# 题二:# 假如txt文件内容为:# aaa,bbb,ccc# ddd,eee,fff# 我要读取保存到列表中去,显示结果为[[aaa,bbb,ccc],[ddd,eee,fff]]file=open("./error.log","r")line=file.readline()tmp=[]while line:    ele=line.replace("\n","").split(",")    tmp.append(ele)    line=file.readline()file.close()print tmp# [['aaa', 'bbb', 'ccc'], ['ddd', 'eee', 'fff']]

实现目录递归遍历,查找以.py结尾的文件,并将文件绝对路径存入log.txt文件。

#coding=UTF-8import osdef py_list1(dir):    file_list=[]    #路径是否存在    if os.path.exists(dir):        #遍历文件及文件夹        for i in os.listdir(dir):            # 如果是文件夹            if os.path.isdir(dir+os.sep+i):                py_list1(dir+os.sep+i)            elif os.path.basename(i)[-3:]=='.py':                #os.path.abspath()绝对路径                file_list.append(os.path.abspath(i))                #file_list.append(i)    return file_listdir=os.getcwd()print py_list1(dir)
原创粉丝点击