zoukankan      html  css  js  c++  java
  • 字符编码、文件操作

    字符编码

    '''
    CPU:将数据渲染给用户,中央处理器
    内存:临时存放数据,断电后消失
    硬盘:永久存储数据,断电后还有

    乱码:存数据与读数据采用的编码表不一致

    软件打开文件读取数据的流程:
    1. 打开软件
    2. 往计算机发生一个打开文件的指令,来打开文件
    3. 读取数据渲染给用户(存取编码不一致:乱码)


    python解释器打开py文件
    1. 打开软件(python解释器)
    2. 往计算机发生一个打开文件的指令,来打开文件
    3. 逐行解释打开的文件内容(存取编码不一致,无法正常解释,崩溃),将执行结果展示给用户

    解释失败的原因:
    py2默认按ASCII来解释文件内容 | py3默认按UTF-8来解释文件内容

    文件头:# encoding: 编码表
    功能:告诉py解释器按照什么编码来解释文件内容
    '''

    编码解码

    # 原义字符串: 不对字符串内存做任何操作(eg: 的转化)
    # r'abc abc' => 'abc abc'

    # u'' 之间转化 b''
    # 编码:u''.encode('utf-8') | bytes(u'', encode='utf-8')
    # 解码:b''.decode('utf-8') | str(b'', encode='utf-8')

    文件操作

    '''
    计算机中的文件:硬盘中一块存储空间(虚拟的文件)
    文件操作:根据文件名来操作硬盘的那块存储空间,操作方式 读read 写write
    '''

    '''
    1. 打开文件

    2. 操作文件(读:read() 写:write())

    3. 关闭文件 *****
    '''

    # 基础读

    # 1、打开文件
    # 变量名 = 文件空间
    # 文件路径 操作模式(读|写) 编码
    f = open('a.txt', 'r', encoding='utf-8')

    # 2、操作文件
    # data = f.read(3) # 将所有内容读取出来,如果设置读取长度,按照规定长度读取数据
    # print(data)

    # 一次读取一行
    # line = f.readline()
    # print(line)
    # line = f.readline()
    # print(line)

    # 按行一次性全部读出
    # lines = f.readlines()
    # print(lines)

    # 逐步一行一行读取
    # l = []
    # for line in f:
    # # print(line)
    # l.append(line)
    # print(l)

    s = set()
    for line in f:
    # print(line)
    s.add(line)
    print(s)

    # 3、关闭文件
    f.close() # 释放操作系统对文件的持有,变量f还被应用程序持有

    # 基础写
    # 文件不存在:会新建文件,再操作文件
    # 文件存在:先清空文件,再操作文件
    w = open('b.txt', 'w', encoding='utf-8')
    w.write('456')
    w.close()

  • 相关阅读:
    centOS学习part6:安装oracle 11g
    centOS学习part5:oracle 11g安装之环境准备
    centOS学习part4:安装配置vsftp
    centOS学习part3:远程工具VNC的安装与配置
    centOS学习part2:安装JDK及tomcat
    centOS学习part1:操作系统安装
    SSH开发实践part4:Spring整合Struts
    SSH开发实践part3:hibernate继承映射
    读《实战GUI自动化测试》之:第三步,如何提高测试结果分析的效率
    读《实战 GUI 产品的自动化测试》之:第二步,构建利于维护的自动化测试系统
  • 原文地址:https://www.cnblogs.com/zhangdajin/p/10600770.html
Copyright © 2011-2022 走看看