zoukankan      html  css  js  c++  java
  • 03-字符编码-读写模式-课堂笔记

    字典:

    # 字典循环: dic.keys() | dic.values() | dic.items()
    for k, v in dic.items():
        print(k, v)
        
        
    # 字典嵌套
    # [1, 2, 3]
    # {k1:v1, k2:v2}
    info = {
        '学生们': [
            {
                'name': 'Bob',
                'age': 18,
            },
            {
                'name': 'Tom',
                'age': 18,
            }
        ],
        '老师们': [
            {
                
            },
            {
                
            }
        ],
    }
    for k, v in info.items():
        if k == '学生们':
            for stu in v:
                print(stu)
    
    
    
    
    

    字符编码

    # ascii => 各国自己独有的编码(GBK), 兼容ascii => unicode -- utf-8|utf-16
    # 以后文本类型数据采用编码:utf-8
    
    # python2默认采用ascii编码表
    # python3默认采用utf-8
    
    # 在文件最上方可以通过 # encoding: 编码名来规定文件解码的编码表  -- 文件头
    # 在py3以后的开发环境,所有文件采用utf-8编码存储,py3默认也是采用utf-8读取文件,所有可以省略文件头
    
    # u'' = encode('utf-8') > b''
    # b'' = decode('utf-8') >  u''
    

    文件操作

    # 打开文件
    f = open(r'文件路径', '文件的操作模式', encoding='utf-8')
    
    # 使用文件
    f.read()
    f.write()
    
    # 关闭文件
    f.close()
    
    
    

    基础读

    # 文件操作模式:r  -- 文件必须提前存在,否则抛出异常
    # 1.按字符进行操作
    # 2.read():读所有内容  |  read(10):对指定字符长度
    # 3.readline(): 一次读一行
    # 4.readlines(): 将文件一行一行读到list中
    
    f = open(r'文件路径', 'r', encoding='utf-8')
    
    

    基础写

    # 文件操作模式:w  -- 文件不存在就新建,存在就清空
    # 1.按字符进行操作
    # 2.write('写入第1行
    写入第2行
    ')
    # 3.flush(): 将之前写入到内存中的数据刷新到硬盘中
    # 4.writelines(list):list中存放的是一条条文件内容,需要明确
    标识换行  writelines(['111
    ', '222
    '])
    

    with语法

    # 操作系统对文件的支持权由with自动管理释放
    with open('file.txt', 'r', encoding='utf-8') as f:  # 不需要明文书写f.close()
        data = f.read()
        print(data)
    

    操作模式

    '''
    主模式:
    r:  文件必须存在的读
    w:  文件无需存在的写,无创建,有清空再写
    a:  文件无需存在的写,无创建,有在文件最后追加写
    
    从模式:
    t:  按文本字符操作数据(默认模式)
    b:  按文本字节操作数据
    +:  可读可写
    
    了解:
    x:新建文件写,如果文件已存在,抛异常
    '''
    '''
    rt | wt | at == r | w | a
    rb | wb | ab
    rt+ | wt+ | at+ == r+ | w+ | a+
    rb+ | wb+ | ab+
    '''
    
    

    游标操作

    # 大前提:seek一定在b模式下进行操作,因为seek移动是按字节进行操作
    # f.seek(偏移量,操作位置)
    
    f.seek(5, 0)  # 从开始往后偏移5个字节
    f.seek(-1, 1)  # 从当前位置向前偏移1个字节
    f.seek(1, 1)  # 从当前位置向后偏移1个字节
    f.seek(-5, 2)  # 从末尾向前偏移5个字节
    

    文件的遍历

    # 最常用读写
    with open('source', 'r', encoding='utf-8') as f1, open('target', 'w', encoding='utf-8') as f2:
        for line in f1:
            f2.write(line)
    

    函数入门

    # 函数:用来完成特定功能的代码块,类似于工具,可以重复不但的去使用
    
    # 为什么要有函数
    # 1. 避免代码的冗余
    # 2. 让程序代码结构更加清晰
    # 3. 让代码具有复用性,便于维护
    
    # 定义函数的语法
    ''' 
    def 函数名(参数列表):
        函数体
        return 返回值
    '''
    # 调用函数的语法
    # 函数名(参数列表)
    
    
    

    函数四部分

    '''
    1. 函数名:使用该函数的依据
    2. 函数体:完成功能的代码块
    3. 返回值:功能完成的反馈结果
    4. 参数:完成功能需要的条件信息
    '''
    
  • 相关阅读:
    HDU_2203_KMP入门
    HDU_1711_初识KMP算法
    过滤器基础
    HDU_1907_基础博弈nim游戏
    nim游戏解法(转)
    HDU_1517_博弈(巧妙规律)
    HDU_1850_nim游戏
    HDU_1847_基础博弈sg函数
    < 转>Java 反射机制浅析
    <转>单机版搭建Hadoop环境
  • 原文地址:https://www.cnblogs.com/qiangyuzhou/p/10899886.html
Copyright © 2011-2022 走看看