码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Python读写文件操作


    一、文件编码

    1.1 什么是编码?

    不变吗就是一种规则集合,记录了内容和二进制相互转换的逻辑,常用的有UTF-5、GBK等编码

    1.2 为什么需要编码?

    计算机只认识二进制的0和1,所以需要将内容翻译成二进制才能保存在计算机中。同时也需要编码,反向翻译回原始文件内容。

    二、文件的读取

    读取大致分为三步:打开文件、读取文件、关闭文件

    2.1 open函数
    2.2 read函数

    read(nbytes),从文件中读取nbytes字节的数据,如果没写参数nbytes,默认读取文件的全部内容

    2.3 readlines函数

    按行读取文件内容,将每行数据保存到列表容器,用返回值接收。

    2.4 readline函数

    读取文件的一行。

    2.5 close 函数

    关闭文件

    2.6 with open 函数

    with open(“E:/Program/Python/test.txt”, “r”, encoding=“UTF-8”) as f, 可以避免忘记关闭文件而导致的异常。

    import time # 导入sleep需要的包
    
    file = open("E:/Program/Python/test.txt", "r", encoding="UTF-8")
    print(type(file))
    
    # 1.read方法
    print(file.read(10)) # 读取10个字节
    print(file.read())   # 读取全部内容
    
    # 2.readlines方法
    file_list = file.readlines()
    print(file_list)
    print(type(file_list))
    
    # 3. readline
    print(file.readline())
    
    # 4.循环读取每一行
    for item in file.readlines():
        print(item)
    time.sleep(10)
    
    # 5.关闭文件
    file.close()
    
    # 6.with open,可以避免忘记关闭文件而导致的异常
    with open("E:/Program/Python/test.txt", "r", encoding="UTF-8") as f:
        for line in f:
            print(line)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29

    三、文件的写入

    直接调用write,内容并未真正写入到文件,只是写在了磁盘的缓冲区,当调用flush时才会真正落盘。为什么要调用flush才落盘呢?这样是为了避免频繁的刷盘导致性能下降,只有在特定时候才会刷盘。

    import time
    
    file = open("E:/Program/Python/python.txt", "w", encoding="UTF-8")
    
    file.write("hello, this is lwang.")
    file.write("hello, this is lwang.")
    file.write("hello, this is lwang.")
    file.write("hello, this is lwang.")
    
    # time.sleep(100000)
    file.flush()
    # time.sleep(100000)
    
    file.close()  # close内置flush功能
    
    
    # 追加写测试
    file2 = open("E:/Program/Python/python2.txt", "a", encoding="UTF-8")
    file2.write("hello,world!")
    
    file2.write("\nhere is lwang.")
    
    file2.flush()
    
    file2.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    推荐一个零声学院免费教程,个人觉得老师讲得不错,
    分享给大家:[Linux,Nginx,ZeroMQ,MySQL,Redis,
    fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,
    TCP/IP,协程,DPDK等技术内容,点击立即学习:

  • 相关阅读:
    【Linux】安装VMWare虚拟机(安装配置)和配置Windows Server 2012 R2(安装配置连接vm虚拟机)以及环境配置
    如何用python高效摸鱼?日常办公小技巧GET!
    C语言 驼峰命名法和下划线命名法
    在这个艰难的环境下,我裸辞了
    Pico neo3+Unity开发记录
    GBase 8c V3.0.0数据类型——几何函数
    go rand 包
    如何给开源项目发起提案
    Scala
    C++——安装环境、工具
  • 原文地址:https://blog.csdn.net/weixin_46935110/article/details/128170419
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号