• Python基础—文件操作(Day8)


    一、文件操作参数

     1.文件路径

       1)绝对路径:从根目录开始一级一级查找直到找到文件。

    f=open('e:文件操作笔记.txt',encoding='utf-8',mode='r')
    content=f.read()
    print(content)
    f.close

       2)相对路径:在同一文件夹下直接写文件名即可。

    f=open('log',encoding='utf-8')
    content=f.read()
    print(content)
    f.close()

     2.编码方式

     3.执行动作

    f=open('e:文件操作笔记.txt',encoding='utf-8',mode='r')
    content=f.read()
    print(content)
    f.close

    f:时变量,f_obj,file,f_handler,...文件句柄

    open:window的系统功能

    'e:文件操作笔记.txt':文件路径

    windows默认编码方式:gbk,linux默认编码方式utf-8

    流程:打开一个文件,产生一个文件句柄,对文件句柄进行操作,关闭文件。

    二、 文件的打开模式

     1.读:

      1)r只读:文件以什么编码方式存储的就以什么编码方式打开,编码不一致时会报错。

      2)rb只读,以bytes类型读取(非文字类的文件用rb)

      3)r+ 先读后追加,一定要先读后写

    f = open('log',encoding='utf-8',mode='r+')
    content = f.read()
    print(content)
    f.write('aaa')
    f.close()

      4)r+b以bytes类型操作的可读可写

     2.写:

      1)w只写

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

    with open('log1',encoding='utf-8',mode='w') as f:
        f.write('过会就可怜了')
    f.close()

       有文件将原文件内容清空,再写入内容。

    with open('log1',encoding='utf-8',mode='w') as f:
        f.write('666')
    f.close()

    2)wb只写  bytes类型写

    f=open('log',mode='wb')
    f.write('老男孩'.encode('utf-8'))
    f.close

      3)w+ 写读,先写后读

    with open('log',encoding='utf-8',mode='w+') as f:
        f.write('中国')
        print(f.tell())#按字节去读光标位置
        f.seek(3) #按字节调整光标位置
        print(f.read())
        f.close()

      4)w+b以bytes类型操作的可写可读

     3.追加:

      1)a只追加写模式

      2)ab只追加写,以bytes类型操作

      3)a+追加读

    f = open('log',encoding='utf-8',mode='a+')
    f.write('BBB')
    content = f.read()
    print(content)
    f.close()

      4)a+b以bytes类型操作的可写可读

    三、文件的操作方法

     1.f.read()全部读出来

    f=open('log',encoding='utf-8')
    content=f.read()
    print(content,type(content))
    f.close

     2.f.readline()一行一行的读

     3.f.readlines()将原文件的每一行作为一个列表的元素

     4.read(n)读取一部分  

       在r模式下read(n)按照字符去读取

       在rb模式下read(n)按照字节去读取

     5.循环读取

    f = open('log',encoding='utf-8')
    for i in f:
        print(i.strip())
    f.close

    6.f.writable()是否可写

    f = open('log',encoding='utf-8')
    print(f.read())
    print(f.writable())  #False
    f.close()

    7.f.truncate()按字节对原文件截取

    f = open('log',encoding='utf-8',mode='a')
    f.truncate(3)
    f.close()

    8.f.readable()是否可读

    9.f.seek()按字节调整光标位置

    10.f.tell()按字节去读光标位置

    四、文件的修改

    1,将原文件读取到内存。
    2,在内存中进行修改,形成新的内容。
    3,将新的字符串写入新文件。
    4,将原文件删除。
    5,将新文件重命名成原文件。

    五、with open('log'.encoding='utf-8') as f:

      第一个功能:自动关闭文件句柄。      

    with open('log',encoding='utf-8') as f:
        print(f.read())

     第二个功能:一次性操作多个文件句柄。

    with open('log',encoding='utf-8') as f1,
        open('log1',encoding='utf-8') as f2:
        print(f1.read())
        print(f2.read())
  • 相关阅读:
    [原创] 上海好买基金招聘测试经理/测试主管/测试工程师/测试开发工程师(长期有效)
    [原创]表达沟通SCQA架构思维导图
    [原创]PostMan接口测试神器
    [原创]2015年测试人员薪水分布图
    [推荐]大型网站开发知识介绍
    使用C#版OpenCV进行圆心求取
    使用C#版Tesseract库
    OCR库Tesseract初探
    pip的基本使用
    IPAddress.Any 解决本地ip和服务器ip切换问题
  • 原文地址:https://www.cnblogs.com/facestore/p/8657789.html
Copyright © 2020-2023  润新知