python基础复习(20)--写文本文件

#写文本文件   ascii和二进制2种
#rt  只读  wt只写  at追加只写
#文件对象=open(文件名,文件使用方式)
#文件对象.close()
#从文件编码的方式来看,文件可分为 ASCII 码文件和二进制码文件两种

try:
    f=open("./xx.txt","rt")#文件不存在报错
    f.close()
except:
    print("文件打开失败")


try:
    fobj=open("./xt.txt","wt")#写
    fobj.write("abcdef")#写
    fobj.close()
except Exception as err:
    print(err)


try:
    fobj=open("./xt.txt","at")
    fobj.write("\nQQQQQ")#\n换行
    fobj.close()
except Exception as err:
    print(err)


def getstudent(i):
    print("输入第",i,"个学生信息")
    try:
        name=input("姓名:")
        if name.strip()=="":#去掉左右空白
            raise Exception("无效的姓名")
        gender=input("性别:")
        if gender!="男" and gender!="女":
            raise Exception("无效性别")
        age=input("年龄:")
        age=float(age)
        if age<18 or age >30:
            raise Exception("无效的年龄")
        s={
    
    }
        s["name"]=name
        s["gender"]=gender
        s["age"]=age
        return s
    except Exception as err:
        print(err)
        return None

i=1
try:
    fobj=open("./student.txt","wt")
    while True:
        s=getstudent(i)
        if s:
            fobj.write(s["name"]+"\n"+s["gender"]+"\n"+str(s["age"])+"\n")
            i=i+1
        s=input("继续输入吗(Y/N)")
        if s!="Y" and s!="y":
            break
    fobj.close()
except Exception as err:
    print(err)

猜你喜欢

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