• 文件操作初识


    编码的进阶:

      英文:

        str:

          在内存中的编码:unicode

          表现形式:'taibai'

        bytes:

          在内存中的编码: 非unicode

          表现形式: b'taibai'

       中文:

          以什么编码就以什么解码!!!

    str--->gbk bytes

    s1 = 'a太白'
    b1 = s1.encode('gbk')
    print(b1)   #b'axccxabxb0xd7'
    b2 = b1.decode('gbk')
    print(b2)   #a太白

    utf-8 bytes ---> str unicode

    s2 = b'axe5xa4xaaxe7x99xbd'
    b3 = s2.decode('utf-8')
    print(b3)  #先将s2转换成unicode
    s = b3.encode('gbk')
    print(s) #再将b3转换成gbk

    文件操作初识

      f 变量: f,f1,file,fh,file_handler........    文件句柄

      具体操作:

        读    写     读写    写读   等等

    文件的读:

      四种模式:

      r   r+   rb   r+b

      每种模式下又有5种读文件

        1. read()  全部读写

    f1 = open('练习',encoding= 'utf-8')
    content = f1.read()
    print(content,type(content))
    f1.close()

        2.read(n)

    f1 = open ('练习',encoding = 'utf-8')
    print(f1,read(3))
    f1.close

        3.readline()

    f1 = open ('练习',encoding = 'utf-8')
    print(f1.readline().strip())
    print(f1.readline().strip())
    f1.close()

        4.readlines()

    f1 = open ('练习', encoding = 'utf-8')
    print(f1.readlines())
    f1.close()

        5.循环读取  ***********最好的*************

    f1 = open ('练习', encoding = 'utf-8')
    for i line in f1:
            print(line)
    f1.close

    文件的写

      w     w+     wb    w+b

      w:

    没有文件 创建文件  写入内容

    f = open ('练习',encoding = 'utf-8',mode = 'w')
    
    f.write('你想些什么就写什么')
    
    f.close()

    文件的追加

      a:

    f = open ('练习',encoding = 'utf-8',mode = 'a')
    f.write('这是追加的内容')
    f.close()

    运用最多的还是    r   r+    其次是   w   和  a  

         网络:  rb    wb

    其他操作方法

      seek    tell

    f1 = open ('练习',encoding = 'utf-8')
    f1.seek(9)  #按照字节调整光标位置
    print(f1.read())
    f1.close()
    
    
    
    f1 = open ('练习2',encoding = 'utf-8')
    print(f1.tell())    #获取光标的位置
    print(f1.read())
    f1.close()

        总结: read   flush   seek  tell   readable   writeable

    文件的第二种打开方式:

    with open('练习',encoding = 'utf-8') as f1:
        print(f.read())
    with open('练习',encoding = 'utf-8') as f,
            open('新练习',encoding = 'utf-8',mode = 'w') as f2:
        print(f.read())
        f2.write('给新练习增加新内容')
        f2.write('又给它增加一点新的内容')

    文件的改

      一共五个步骤:

        1.以读的模式打开原文件

        2.以写的模式创建一个新文件

    import os
    with open ('练习',encoding = 'utf -8') as f1,
        open('增加的新文件',encoding = 'urf-8',mode = 'w') as f2:

        3.将原文件内容读出来,按照你的要求改成新内容,写入新文件

        for old_line in f1:
            new_line = old_line.replace('你的','我的')
            f2.write(new_line)

        4.删除原文件

    os.remove('练习')

        5.将新文件重命名成原文件

    os.rename('增加的新文件','练习')

    深浅copy:

      浅copy:

        无论是同一个代码块还是不同代码块下:

        只copy原类型的外壳,外壳里面的元素共用(元素为可变数据类型的话,会同步改变;如果是改不可变数据,会创建新数据赋值给被改变数据的原内存地址   即  -->谁改变,谁显示)

      深copy:

        无论是同一个代码块还是不同代码块下:

        不仅copy原类型的外壳,而且外壳里面的可变数据类型也创建一个新的地址,且改不可变数据会创建新数据赋值给被改变数据的原内存地址     即  -->谁改变,谁显示

  • 相关阅读:
    iscroll.js
    HTML 第九章总结
    HTML第八章总结
    HTML第七章总结
    HTML第六章总结
    HTML第五章总结
    HTML第四章总结
    HTML第三章总结
    HTML第二章总结
    HTML第一章总结
  • 原文地址:https://www.cnblogs.com/zhangxiangning/p/10495706.html
Copyright © 2020-2023  润新知