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


    在学习python的文件读写操作的时候,我遇到了一点麻烦事,觉得可以记录下来,先上代码吧。

    with open('test.txt') as file:
        file.write('test')
        print(file.read())
    

    我的目的很简单,就是以默认的a模式打开文件,并在文件末尾写入'test',然后把最新的文件读出来,可谁知当我运行的时候,竟然报错。认真查阅书本,才想起来a模式是不支持read()的,然后修改为a+模式,代码如下:

    with open('test.txt','a+') as file:
        file.write('test')
        print(file.read())
    

    本以为又要成功了,谁知内容是写进去了不错,但是输出是空的,就是文件读不出来。问了高人后,又是一个细节暴露了出来。原来这里牵涉到读写模式对文件中指针位置的影响,大家可以到网上搜一下,这里我只讲a+模式。a+模式以追加的模式打开一个文件用于读写。如果文件存在,则打开文件,将文件指针定位在文件尾,新写入的内容在原有内容的后面;如果文件不存在,则创建一个新文件用于读写。read()是从光标处向后读,也就是说read()之前,光标已经到了文件的末尾,因此也就读不出来内容了。这里我们要用到seek(0)来把光标重置到文件开头。最终代码如下:

    with open('test.txt','a+') as file:
        file.write('test')
        file.seek(0)
        print(file.read())
    

    终于正常了,哈哈,希望自己可以永远记住这几点。

  • 相关阅读:
    喜报 | 思码逸 DevInsight 通过DaoCloud兼容性互认证
    java流知识小结
    运算方法和运算电路
    Ubuntu 启动时黑屏、显示 recovering journal,clean, xxx files,xxx blocks,只能从恢复模式启动
    如何使用Flask搭建web程序框架并实现无公网IP远程访问本地程序
    内网对抗-基石框架篇&域树林&域森林架构&信任关系&多域成员层级&信息收集&环境搭建
    PostgreSQL教程(三十一):服务器管理(十三)之监控数据库活动
    知识图谱从入门到应用——知识图谱的技术结构
    全网最细,接口自动化测试框架与Redis结合+常见应用场景...
    概率论和数理统计(一)概率的基本概念
  • 原文地址:https://www.cnblogs.com/aiqdota/p/16010559.html
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | 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号