• 【python笔记】第十四节 文件操作


    💕💕💕 博主昵称:摆烂阳💕💕💕

    🥰博主主页跳转链接
    👩‍💻博主研究方向:web渗透测试 、python编程
    📃 博主寄语:希望本篇文章能给大家带来帮助,有不足的地方,希望友友们给予指导


    操作文件的步骤:

    1. 打开文件
    2. 对文件进行(读,写),保存
    3. 关闭文件

    一、打开

    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
    
    • 1

    file: 指要打开文件的名字 (准确说是路径,可写绝对路径,可写相对路径)

    原始字符串:

    让字符串不会被转义 ,字符串前面加个r print(r"\n") # 转义符不会再转义了,纯字符

    建议:字符串里面存储的是 路径,正则表达式 通通使用原始字符串

    路径
    1、绝对路径

    不易出错,唯一性

    2、相对路径

    … 表示上一级
    / 下一级

    pycharm绝对路径快捷键:ctrl + shift + c

    二、关闭

    fileName = r"demo.txt"
    demo = open(fileName)
    content = demo.read()  # 读取文件中的内容,它会将内容全部保存为一个字符串返回
    demo.close()  # 关闭文件
    print(demo.read())
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    python提供了一个语法,可以自动帮忙关闭,再也不用手动了

    with open …as 语句

    with 会自动将文件关闭 自动执行f.close()

    with open(fileName) as f:
    content = f.read()
    print(content)

    三、读取

    read() :读取全部内容
    readline() : 读取一行内容
    readlines() :读取每行行内容,放进列表

    读取文件分为两种
    1.纯文本文件(使用utf-8等编码编写的文本文件)
    常见中文编码:utf-8,gbk,gb2312
    2.二进制文件(图片、视频)

    # 按行读取
    with open(fileName,encoding="utf-8") as f:
        print(f.readline(),end="")
        print(f.readline(),end="")
        print(f.readline(),end="")
        print(f.readline())
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    四、写入

    r:只读 (不传,则是只读)

    w:可写 ,表示覆盖,如果文件不存在会创建文件

    a:可写 ,表示追加,如果文件不存在会创建文件

    fileName = r"demo4.txt"
    
    # with 会自动将文件关闭   f.close()
    # 指定w模式,表示可写
    with open(fileName, "w", encoding="utf-8") as f:
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa")  # 括号内需要传递一个字符串
    
    # a 表示追加,不会清空以前的内容
    with open(fileName, "a", encoding="utf-8") as f:
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa\n")  # 括号内需要传递一个字符串
        f.write("aa\n")  # 括号内需要传递一个字符串
        
        
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    +:为操作符增加功能
    r+:可读也可写
    w+:可写也可读
    a+:可写也可读

    五、二进制文件

    音乐,图片 二进制文件
    
    
    读取模式参数:
        t 读取文本文件(默认方式)
        b 读取二进制文件fileName = r"周杰伦 - 晴天.mp3"
    
    
    with open(fileName,"rb") as f:
        content = f.read()
        new_path = "qq.mp3"
        with open(new_path,"ab") as f2:
            # 将读取的数据写入到新的对象中
            f2.write(content)
            
            
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    本章小结

    本文是本人以前笔记,博主主页跳转链接
    如果有哪里不对的话欢迎各位大佬指出问题,本人也是初学python,希望可以和各位朋友一起学习进步。

    点击跳转到博主python专栏:
    如果有喜欢web安全的朋友,请在web渗透专栏中进行查看
    点击跳转到博主web渗透专栏

  • 相关阅读:
    黄金价格查询易语言代码
    微服务:深入浅出Springboot与Springboot2.x版实战实践
    某瑞集团安全技术研发岗位面试
    SEO方案尝试--Nuxtjs项目基础配置
    Ubuntu20和CentOS7:部署NFS(网络文件系统)
    git简介和指令
    前端三剑客 HTML+CSS+JavaScript ② HTML相关概念
    【踩坑日记 · 前端】为 Excalidraw 添加中文手写字体
    JavaIO流02:IO流概述和流的分类
    01_Flutter之下拉刷新和上拉加载
  • 原文地址:https://blog.csdn.net/qinshuoyang1/article/details/126721324