zoukankan      html  css  js  c++  java
  • day8

    三种字符串

    #普通字符串:u'以字符作为输出单位'
    print(U'abc') #用于显示

    #二进制字符串:b'二进制字符串以字符作为输出单位'
    pint(b'abc') #用于传输

    #原义字符串:r'以字符作为输出单位,所有在普通字符串能被'

    文件操作的三步骤

    1.打开文件:硬盘空间被操作系统持有,文件对象被应用程序持有
    2.操作文件
    .释放文件:释放操作系统对硬盘空间的持有

    进制

    ascii与字符的相互转换
    print(10)
    print(0b 1010)   二进制
    print(0o 12)     八进制
    print(0xa)       十六进制

    将字符串转化成数字(ord)
    print(ord('A'))
    print(cha(9325))
    print(ord'@')

    -128~127 一个字节占8位,后面7位作数据位
    源码 补码 所有的代码都是以补码的形式储存的

    基础的读

    为什么要释放资源:释放操纵系统对硬盘空间的持有权

    f = opne('绝对路径',模式,编码方式)
    write() 一次写一条,行必须用标识
    flush() 向操作系统发送一条将内容中写入的数据刷新到硬盘
    writeline() 一次写多行,行必须用 标识

    with...open

    #优化整合了文件资源的打开与释放
    #在with的缩进内可以操作文件对象,一旦取消缩进,资源就被释放
    #as 起别名
    with open('target.txt', 'r', encoding='utf-8') as rf1:
        with open('target1.txt', 'r', encoding='utf-8') as rf2

    文件的操作模式

    主模式:主模式只能选取一个,规定这主要的操作方式
    r 读, 必须有源文件
    w 写, 清空写,可有可无
    a 追加写, 可有可无
    x 创建写, 必须没有

    从模式
    t:默认,按字符操作
    b:按二进制操作
    +:可读可写

    主模式和从模式和搭配

    文件的操作编码问题

    t模式:原文件采用何种方式编码,就需要选用何种方式编码,如果不选取,默认和操作系统保持一致(windows和mac的区别)
    b模式:硬盘的数据就是二进制,且能根据内容识别出编码,写入时的数据也是通过某种编码提前处理好的,在操作时,不用规定编码

    文件的复制

    # 文本文件的复制:可以t也可以b
    with open('target.txt', 'r', encoding='utf-8') as rf:
        with open('target2.txt', 'w', encoding='utf-8') as wf:
            for line in rf:
                wf.write(line)

    with open('target.txt', 'rb') as rf:
        with open('target3.txt', 'wb') as wf:
            for line in rf:
                wf.write(line)


    # 非文本文件只能采用b模式操作,不需要指定编码 - 因为根本不涉及编码解码过程
    with open('001.mp4', 'rb') as rf:
        with open('002.mp4', 'wb') as wf:
            for line in rf:
                wf.write(line)

    游标操作

    #1.游标操作的是字节,所有只能在b模式下进行操作
    #2.游标操作可以改变操作位置,r模式下可以改变位置进行操作,所有主模式选择r模式
    #3.seek(offset, whence):
    #       -- offset为整数就是往后偏移多少个字节,负数就是往前偏移多少个字节
    #       -- whence:0代表将游标置为开头,1代表从当前位置,2代表将游标置为末尾

  • 相关阅读:
    luogu P3376 【模板】网络最大流
    cogs 774. [USACO Open09] 捉迷藏
    1002. A+B for Polynomials (25) (浮点数判0)
    1001. A+B Format (20) (%0nd)
    7-28 搜索树判断(25 分)
    7-27 家谱处理(30 分)
    7-26 Windows消息队列(25 分)(堆排序)
    7-25 朋友圈(25 分)(并查集)
    7-24 树种统计(25 分)(二叉排序的应用)
    7-23 还原二叉树(25 分)
  • 原文地址:https://www.cnblogs.com/zhuqihui/p/10753471.html
Copyright © 2011-2022 走看看