• 3、python全栈之路文件操作


    三、文件操作

    1、文件操作

    从硬盘中读取utf-8编码的数据,字符串转换成unicode编码的数据到内存中,文件在硬盘上时,一定是utf-8gbk等模式的二进制编码

    文件操作的三要素

      1. 路径:D:\美女模特空姐护士联系方式.txt

      2. 编码:utf-8

      3. 模式:

      - rb

      - r

      - r+      

      -r+b

      - wb

      - w

      - w+b

      - ab

      - a

      - a+

      - a+b

    1.1 open()read()close()

    PS: 打开文件后,记着关闭文件

    obj = open(文件路径,mode='rb')

    xxxx

    obj.close()

    自动关闭

    with open(文件路径,mode='rb') as obj:

        obj.read()

    # 代码执行完毕后,自动关闭文件

    读文件

     

    1.1.1 rbr

    网络编程的时候,有图片、音乐、视频等格式的文件用rbwb格式

    obj = open('D:\美女模特空姐护士联系方式.txt',encoding='utf-8',mode='r')
    content = obj.read()
    obj.close()
    print(content,type(content))

    打开windows下的文件开始要加双斜线或加'r'

     

    1.1.2 r+r+b

    读写,文件先读再追加

    #打开文件的时候:不清空文件

    #当用户读取操作之后,写的所有内容都变成追写

    #当用户不执行读操作,写默认从开始覆盖

    不要同时又读又写

     

    1.2 write()writelines()

    write() 写一个文件

    writelines() 将一个列表的内容写入文件

    1.2.1 wbww+b

    原文件不存在则创建文件,原文件存在则将原文件覆盖

     

    1.2.2 abaa+a+b

    追加,原文件不存在则创建文件,原文件存在则在文件后追加内容

     

    1.3 seek()

    将光标指定到指定位置

    seek(2) 指的是光标在第二个自己后面

    read(2) 如果是'r'模式则读前两个字符,如果是'rb'模式则读前两个字节

     

    控制光标的位置

     

    三种模式

    0模式、1模式、2模式

    默认0模式光标以文件开头为参照位置

    12模式必须在b模式下使用

    1模式光标以当前光标所在的位置为参照位置

     

    2模式光标以文件结尾为参照位置

     

    1.4 tell()

    读取当前光标所在位置

    1.5 flush()

    将内存中内容刷到硬盘

    1.6 readline()readlines()

    readline() 读一行,返回一个字符串

    readlines() 读整个文件,返回一个列表,每行是一个元素

    1.7 for循环

    一行一行的读出来

    # 等价于 py2 obj.xreadlines()

    for line in obj:

      print(line)

     

    1.8 文件修改

     

    固定模式:

    #读写
    #修改
    f = open('file',encoding='utf-8')
    f2 = open('file_bak','w',encoding='utf-8')
    for line in f:
        user_list = line.split('|')
        print(user_list)
        user_list[0] = user_list[0]+'_somebody'
        #print(user_list)
        user_str = '|'.join(user_list)
        print(user_str)
        f2.write(user_str)
    f.close()
    f2.close()
    import os   #模块- 用来和操作系统交互的模块
    os.remove('file')  #删除一个文件
    os.rename('file_bak','file')  #重命名一个文

  • 相关阅读:
    MT【280】最小值函数
    MT【279】分母为根式的两个函数
    MT【278】二次齐次化
    selenium之 chromedriver与chrome版本映射表
    django使用数据库锁
    mysql添加行内锁
    Django 通过url 获取url名称
    Django Q的其他用法
    Django 的 QueryDict
    Django 获取带参数的url
  • 原文地址:https://www.cnblogs.com/xiaojinyu/p/7464776.html
Copyright © 2020-2023  润新知