zoukankan      html  css  js  c++  java
  • python学习第八天 文件操作 编码补充

    1,文件操作。
    模特主妇护士老师.txt
    1,文件路径:d:模特主妇护士老师.txt
    2,编码方式:utf-8 gbk 。。。。
    3,操作方式:只读,只写,追加,读写,写读.....
    以什么编码方式储存的文件,就以什么编码打开进行操作。
    只读:r
    rb
    f = open('模特主妇护士班主任',mode='r',encoding='utf-8')
    content = f.read()
    print(content,type(content))
    f.close()

    # f = open('模特主妇护士班主任',mode='rb',)
    # content = f.read()
    # print(content)
    # f.close()

    r+ 读写
    r+b 读写(以bytes类型)
    # f = open('log',mode='r+',encoding='utf-8')
    # print(f.read())
    # f.write('大猛,小孟')
    # f.close()

    f = open('log',mode='r+b')
    print(f.read())
    f.write('大猛,小孟'.encode('utf-8'))
    f.close()

    只写:w
    wb
    # 先将源文件的内容全部清除,在写。
    # f = open('log',mode='w',encoding='utf-8')
    # f.write('附近看到类似纠纷')
    # f.close()

    f = open('log',mode='wb')
    f.write('附近看到类似纠纷'.encode('utf-8'))
    f.close()
    w+
    # f = open('log',mode='w+',encoding='utf-8')
    # f.write('aaa')
    # f.seek(0)
    # print(f.read())
    # f.close()
    w+b
    .......


    追加
    # f = open('log',mode='a',encoding='utf-8')
    # f.write('佳琪')
    # f.close()

    # f = open('log',mode='ab')
    # f.write('佳琪'.encode('utf-8'))
    # f.close()

    2.文件操作程序
    #绝对路径
    # f = open('d:模特主妇护士班主任.txt',mode='r',encoding='UTF-8')
    # content = f.read()
    # print(content)
    # f.close()
    
    #bytes ---->str
    # f = open('模特主妇护士班主任',mode='r',encoding='utf-8')
    # content = f.read()
    # f.write('fjsdlk')
    # f.close()
    
    # f = open('模特主妇护士班主任',mode='rb',)
    # content = f.read()
    # print(content)
    # f.close()
    # f = open('log',mode='r+',encoding='utf-8')
    # print(f.read())
    # f.close()
    
    # f = open('log',mode='r+b')
    # print(f.read())
    # f.write('大猛,小孟'.encode('utf-8'))
    # f.close()
    
    
    
    #对于w:没有此文件就会创建文件
    # f = open('log',mode='w',encoding='utf-8')
    # f.write('骑兵步兵')
    # f.close()
    
    # 先将源文件的内容全部清除,在写。
    # f = open('log',mode='w',encoding='utf-8')
    # f.write('附近看到类似纠纷')
    # f.close()
    
    
    # f = open('log',mode='w+',encoding='utf-8')
    # f.write('aaa')
    # f.seek(0)
    # print(f.read())
    # f.close()
    
    
    # f = open('log',mode='wb')
    # f.write('附近看到类似纠纷'.encode('utf-8'))
    # f.close()
    
    # f = open('log',mode='a',encoding='utf-8')
    # f.write('佳琪')
    # f.close()
    #
    # f = open('log',mode='a',encoding='utf-8')
    # f.write('佳琪')
    # f.close()
    
    
    
    # f = open('log',mode='a+',encoding='utf-8')
    # f.write('佳琪')
    # f.seek(0)
    # print(f.read())
    # f.close()
    
    
    # f = open('log',mode='ab')
    # f.write('佳琪'.encode('utf-8'))
    # f.close()
    
    
    #功能详解
    
    # obj = open('log',mode='r+',encoding='utf-8')
    # content = f.read(3)  # 读出来的都是字符
    # f.seek(3)  # 是按照字节定光标的位置
    # f.tell() 告诉你光标的位置
    # print(f.tell())
    # content = f.read()
    # print(content)
    # f.tell()
    # f.readable()  # 是否刻度
    # line = f.readline()  # 一行一行的读
    # line = f.readlines()  # 每一行当成列表中的一个元素,添加到list中
    # f.truncate(4)
    # for line in f:
    #     print(line)
    # f.close()
    
    
    
    
    
    
    
    # f = open('log',mode='a+',encoding='utf-8')
    # f.write('佳琪')
    # count = f.tell()
    # f.seek(count-9)
    # print(f.read(2))
    # f.close()
    
    # with open('log',mode='r+',encoding='utf-8') as f,
    #         open('log',mode='w+',encoding='utf-8') as f1:
    View Code

    3.用文件操作完成注册、登录

    username = input('请输入你要注册的用户名:')
    password = input('请输入你要注册的密码:')
    with open('list_of_info',mode='w',encoding='utf-8') as f:
        f.write('{}
    {}'.format(username,password))
    print('恭喜您,注册成功')
    lis = []
    i = 0
    while i < 3:
        usn = input('请输入你的用户名:')
        pwd = input('请输入你的密码:')
        with open('list_of_info',mode='r+',encoding='utf-8') as f1:
            for line in f1:
                lis.append(line)
        if usn == lis[0].strip() and pwd == lis[1].strip():
            print('登录成功')
            break
        else:print('账号和密码错误')
        i+=1
    View Code

    4.编码补充

    #str --->byte  encode 编码
    # s = '二哥'
    # b = s.encode('utf-8')
    # print(b)
    # #byte --->str decode 解码
    # s1 = b.decode('utf-8')
    # print(s1)
    
    
    # s = 'abf'
    # b = s.encode('utf-8')
    # print(b)
    # #byte --->str decode 解码
    # s1 = b.decode('gbk')
    # print(s1)
    View Code
  • 相关阅读:
    中文简体汉字
    文件下载
    javaBean
    servlet和JSP笔记(EL表达式、javabean、jsp九大内置对象等)
    Http请求和响应
    Eclipse快捷键(可更新)
    反射笔记①
    泛型, 枚举,单例模式
    Ubuntu 14.04 安装 A卡HD7750 官方闭源 显卡驱动
    C语言--二维数组,字符串数组,多维数组
  • 原文地址:https://www.cnblogs.com/xubohua/p/8110843.html
Copyright © 2011-2022 走看看