返回顶部
首页 > 资讯 > 后端开发 > Python >文件高级应用
  • 400
分享到

文件高级应用

高级文件 2023-01-31 00:01:17 400人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录 可读、可写(了解) 文件内指针移动(了解) seek(offset,whence) tell() read(n)

目录

  • 可读、可写(了解)
  • 文件内指针移动(了解)
    • seek(offset,whence)
    • tell()
    • read(n)
    • truncate(n)
  • r+t: 可读、可写
  • w+t: 可写、可读
  • a+t: 可追加、可读

文件高级应用-吹逼.jpg

# wt
with open('36w.txt', 'wt', encoding='utf-8') as fw:
    print(fw.readable())
    print(fw.writable())
False
True
# w+t
with open('36w.txt', 'w+t', encoding='utf-8') as fw:
    print(fw.readable())
    print(fw.writable())
True
True
# r+t
with open('36w.txt', 'r+t', encoding='utf-8') as fr:
    print(fr.readable())
    print(fr.writable())
True
True

假设我们需要在文件内容中间的某一行增加内容,如果使用基础的r/w/a模式实现是非常困难的,因此我们需要对文件内的指针进行移动。

文件高级应用-移动指针.jpg

with open('36r.txt', 'r+t', encoding='utf-8') as fr:
    fr.readline()
    fr.write('nick 真衰呀')  # 写在文件的最后一行

硬盘上从来没有修改一说,硬盘上只有覆盖,即新内容覆盖新内容。

seek(offset,whence)

1.seek(offset,whence): offset代表文件指针的偏移量,单位是字节

# seek()
with open('36r.txt', 'rt', encoding='utf-8') as fr:
    print(f"fr.seek(4, 0): {fr.seek(3, 0)}")  # 0相当于文件头开始;1相当于当前文件所在位置;2相当于文件末尾,但是1和2的移动只能在b模式下进行
    # fr.seek(0,2)  # 切换到文件末尾
fr.seek(4, 0): 3

tell()

2.tell(): 每次统计都是从文件开头到当前指针所在位置

# tell()
with open('36r.txt', 'rt', encoding='utf-8') as fr:
    fr.seek(4, 0)
    print(f"fr.tell(): {fr.tell()}")
fr.tell(): 4

read(n)

3.read(n): 只有在模式下的read(n),n代表的是字符个数,除此之外,其他但凡涉及文件指针的都是字节个数

# read()
with open('36r.txt', 'rt', encoding='utf-8') as fr:
    print(f"fr.read(3): {fr.read(3)}")
fr.read(3): sdf

truncate(n)

4.truncate(n): truncate(n)是截断文件,所以文件的打开方式必须可写,但是不能用w或w+等方式打开,因为那样直接清空文件了,所以truncate()要在r+或a或a+等模式下测试效果。它的参照物永远是文件头。并且truncate()不加参数,相当于清空文件。

# truncate()
with open('36r.txt', 'r+t', encoding='utf-8') as fr:
    fr.truncate(3)

--结束END--

本文标题: 文件高级应用

本文链接: https://lsjlt.com/news/181963.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 文件高级应用
    目录 可读、可写(了解) 文件内指针移动(了解) seek(offset,whence) tell() read(n)...
    99+
    2023-01-31
    高级 文件
  • Javascript高级应用:文件操作篇(转)
    Javascript是网页制作中离不开的脚本语言,依靠它,一个网页的内容才生动活泼、富有朝气。但也许你还没有发现并应用它的一些更高级的功能吧?比如,对文件和文件夹进行读、写和删除,就象在VB、VC等高级语言中经常做的工作一样。怎么样,你是否...
    99+
    2023-06-03
  • jQuery高级组件怎么应用
    jQuery高级组件是指在jQuery基础上进行扩展和封装的一些功能强大、可复用的组件。应用这些高级组件需要按照以下步骤进行:1. ...
    99+
    2023-09-17
    jQuery
  • mogilefs高级应用(3)
    mogilefs高级应用架构图:实验说明:    1个mysql+3个即是mogstored又是tracker节点+1个nginx实现反代为了使用更少的主机,我们采用2台主机nginx + mogstored + tracker mysql...
    99+
    2023-01-31
    高级 mogilefs
  • javascript的高级应用
    http://www.zzbang.cn/html/dev/js/2007/11/09/51/[@more@]1、关于javascript的apply和call函数 prototype.js中用了大量的apply和call函数,不注意会造成...
    99+
    2023-06-03
  • VUE 单文件组件的高级使用技巧
    1. 混合式模板 SFC 允许您将 HTML、CSS 和 JavaScript 组合到一个文件中。通过使用包含 name 属性的 <template> 部分,您可以指定外部 HTML 模板文件。这可以使您将模板逻辑与组件的其他...
    99+
    2024-04-02
  • java中RabbitMQ高级应用
    目录1、消息可靠性投递 1.1、确认模式 1.2、退回模式 1.3、确认机制2、消费端限流3、消息过期时间4、死信队列 4.1、死信概念&nb...
    99+
    2024-04-02
  • linux awk高级应用实例
    今天看到unix shell 范例精解上有道awk的题目 做了以后拿来和大家分享下 处理前的文档: Mike Harrington:(510) 548-1278:250:100:175 Christia...
    99+
    2022-06-04
    应用实例 高级 linux
  • C#枚举的高级应用
    文章开头先给大家出一道面试题: 在设计某小型项目的数据库(假设用的是 MySQL)时,如果给用户表(User)添加一个字段(Roles)用来存储用户的角色,你会给这个字段设置什么类型...
    99+
    2024-04-02
  • VUE 单文件组件:向生产级应用迈进
    SFC 的優點 模塊化: SFC 將標記、樣式和腳本隔離到單個文件中,促進團隊協作和代碼重用。 可維護性: SFC 提供了明確的代碼結構,使錯誤調試和維護變得容易。 可擴展性: SFC 允許開發人員輕鬆創建和擴展複雜的組件,而無需編寫大...
    99+
    2024-04-02
  • Java 文件操作:处理文本文件的高级技术
    ...
    99+
    2024-04-02
  • TypeScript在Model中的高级应用
    这篇文章主要讲解了“TypeScript在Model中的高级应用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“TypeScript在Model中的高级应用”...
    99+
    2024-04-02
  • ospf的高级应用之rip!(H3C)
    案例一: 1作业要求: 把rip学到的路由重分发到ospf中 在rip中注入默认路由指向ospf 实现路由汇总(在ABR上汇总) 配置末梢区域 配置完全末梢区域 2.拓扑图 3.设备介绍: 交换机:HUAWEI QUIDWAY ...
    99+
    2023-01-31
    高级 ospf H3C
  • java中RabbitMQ高级应用方法
    这篇文章主要介绍了java中RabbitMQ高级应用方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇java中RabbitMQ高级应用方法文章都会有所收获,下面我们一起来看看吧。1、消息可靠性投递&e...
    99+
    2023-06-30
  • 九、Python高级功能之文件读写
    Python高级功能之文件读写一、Python进行文件读写的函数时open或file    file('filename','mode')open('filename','mode')mode模式r    只读r+   读写w    写入,...
    99+
    2023-01-31
    高级 功能 文件
  • Redis高级应用的示例分析
    小编给大家分享一下Redis高级应用的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Redis高级实用特性分6部分:1、...
    99+
    2024-04-02
  • Midjourney学习(三)6个高级应用
    使用Remix Mode在原图片的基础上进行二次创作 通过prompt得到大图之后,点击Make Variations按钮,输入Remix Prompt,即可得到意想不到的效果! 局部内容重绘 通过局部重绘可...
    99+
    2023-08-30
    midjourney 学习 局部重绘
  • Python高级应用(3)—— 为你的项
    验证码简介 验证码的作用: 验证码在现在来说,是很常见的东西,可以一定程度的保护网站,比如防止网络爬虫恶意爬取网站数据啊,减少低级的攻击啊什么的。但是高级点的骚操作还是不太好防范,所以现在的验证码平台也在升级强化,为了把人和机器严格分开。...
    99+
    2023-01-30
    高级 Python
  • python函数的高级应用详解
    前言 函数是我们所熟知的,在python中函数的定义格式如下: def 函数名(形式参数): ​ 函数体 ​ 函数的封装就是实现代码块的复用,python内置了一些基础的函数,开...
    99+
    2024-04-02
  • Python高级文件操作之shutil库详解
    前言 什么算是高层的文件操作呢? 普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等。假如我现在需要复制一个文件的内容到另一个文件之中,用pathlib等都只能先打开复制文件,然后进行将其读出来保存,然后...
    99+
    2022-06-02
    Python shutil库 python标准库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作