python基础复习--读文本文件(19)

#读文本文件   read(n)读n个字符  read()读整个文本    n>实际个数,读取实际个数    如果已经读到文件尾部了,再度返回空串
#遇到\n  \r    \r\n作为换行标识,并统一转换为\n作为文本输入换行符
def writeFile():
    fobj=open("./student.txt","wt")
    fobj.write("abc\nxyz")
    fobj.close()
def readFile():
    fobj=open("./student.txt","rt")
    s=fobj.read()
    print(s)
    fobj.close()
try:
    writeFile()
    readFile()
except Exception as err:
    print(err)


def writeFile():
    fobj=open("./student.txt","wt")
    fobj.write("abc\nxyz")
    fobj.close()
def readFile(n):
    fobj=open("./student.txt","rt")
    s=fobj.read(n)
    print(s)
    print(len(s))
    fobj.close()
try:
    writeFile()
    n=520
    readFile(n)
except Exception as err:
    print(err)


#如果文件指针已经到了文件的尾部,再读就返回一个空串
def writeFile():
    fobj=open("./student.txt","wt")
    fobj.write("ab c\nxyz")
    fobj.close()
def readFile():
    fobj=open("./student.txt","rt")
    flag=1
    st=""
    while flag==1:
        s=fobj.read(1)
        if s!="":
            st=st+s
        else:
            flag=0
    fobj.close()
    print(st)
try:
    writeFile()
    readFile()
except Exception as err:
    print(err)


#读取一行的函数readline
#readline()一直读到'\n'或文件尾为止
#如果读到'\n',那么返回的字符包含'\n'
#如果到了文件尾部,再次就读到一个空字符串
def writeFile():
    fobj=open("./student.txt","wt")
    fobj.write("abc\nxyz")
    fobj.close()
def readFile():
    fobj=open("./student.txt","rt")
    s=fobj.readline()
    print(s,"length=",len(s))
    s=fobj.readline()
    print(s,"length=",len(s))
    s=fobj.readline()
    print(s,"length=",len(s))
    fobj.close()
try:
    writeFile()
    readFile()
except Exception as err:
    print(err)
    

#一行一行读取文件数据
def writeFile():
    fobj=open("./abc.txt","wt")
    fobj.write("abc\nxyz")
    fobj.close()

def readFile():
    fobj=open("./abc.txt","rt")
    goon=1
    st=""
    while goon==1:
        s=fobj.readline()
        if s!="":
            st=st+s
        else:
            goon=0
    fobj.close()
    print(st)

try:
    writeFile()
    readFile()
except Exception as err:
    print(err)

#读取所有行的函数readlines一般和for配合使用
def writeFile():
    fobj=open("./abc.txt","wt")
    fobj.write("abc\neee\nxyz")
    fobj.close()

def readFile():
    fobj=open("./abc.txt","rt")
   # print(fobj.readlines())#['abc\n', 'eee\n', 'xyz']
    for x in fobj.readlines():
        print(x,end='')
    fobj.close()

try:
    writeFile()
    readFile()
except Exception as err:
    print(err)


#读取保存在student.txt文件学生信息
class student:
    def __init__(self,name,gender,age):#构造函数
        self.name=name
        self.gender=gender
        self.age=age
    def show(self):#类函数
        print(self.name,self.gender,self.age)

students=[]
try:
    f=open("student.txt","rt")
    while True:
        name=f.readline().strip("\n")#将一行的前后/n字符去掉
        if name=="":
            break
        gender=f.readline().strip("\n")
        age=float(f.readline().strip("\n"))
        students.append(student(name,gender,age))#类放入students
    f.close()

    for s in students:
        s.show()
except Exception as err:
    print(err)

猜你喜欢

转载自blog.csdn.net/xt18971492243/article/details/112200363