【Python21天学习挑战赛】文件读写操作

简介: 【Python21天学习挑战赛】文件读写操作

活动地址:CSDN21天学习挑战赛

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。

文件的操作步骤:

  1. 打开文件
  2. 操作文件
  3. 关闭文件

文件的格式:

f = open ( “file:文件的位置(路径)”,“mode:操作文件的模式”,“encoding:文件编码的方式”)

1 r、w、a

1.1 r 操作:

读取方式:一般文件读过之后,不会再读了

print(f.read()) #全部读取
print(f.read(5)) #按照字符读取
 
print(f.readline().strip()) #按照行读取,读取默认有一个:"张老头真帅!!\n"
print(f.readline()) #按照行读取,.strip()去除换行符
print(f.readline()) #按照行读取
print(f.readlines())    #一行一行读取,保存在列表中

若要读取大文件,用循环:

for i in f:
    print(i.strip())    #本质就是一行一行读取
#   输出:
# 张老头真帅!!
# 憨憨:123456789
# 铁蛋:158495486665
# 铁柱:17739722352
1.2 w操作:

注意:w,a自动检测,没文件就创建,有文件就操作

步骤:

  • (1)先清空文件;
  • (2)写入文件
f=open("小姐姐电话号码",mode="w",encoding="utf-8")
print(f.write("123456789"))
f.write("123456789\n")
f.write("123456789\n")
f.write("123456789\n")
#   输出:9

路径:

  • 绝对路径 – 从根目录开始:C:\…\…\…
f=open("F:\pythonOpenCV\python基础入门\小姐姐电话号码","r",encoding="utf-8")
print(f.read())
  • 相对路径打开文件, …/ 返回上一层
1.3 a操作: 追加写

说明:在源文件的基础上继续写

f=open("小姐姐电话号码","a",encoding="utf-8")
f.write("13843888888\n")
f.write("405651888888\n")

源文件:

2 rb、wb、ab

f1=open("1.jpg","rb")
print(f1.read())     #读取全部文档
print(f1.read(3))    #读取前三个字节
# 一般用于爬虫,爬取图片
f=open("3.jpg","wb")
f.write(f1.read())

3 r+、w+、a+

3.1 r+操作:读写

错误操作:先写后读

f=open("小姐姐电话号码","r+",encoding="utf-8")
f.write("憨憨最憨\n")
print(f.read())

正确操作:先读后写

f=open("小姐姐电话号码","r+",encoding="utf-8")
print(f.read())
f.write("憨憨最憨\n")
3.2 w+:清空写,读
f=open("小姐姐电话号码","w+",encoding="utf-8")
f.write("憨憨最憨\n")
print(f.read())
3.3 a+:追加写,读
f=open("小姐姐电话号码","a+",encoding="utf-8")
f.write("憨憨最憨\n")
print(f.read())

4 其他操作

4.1 tell 查看光标
f=open("小姐姐电话号码","a+",encoding="utf-8")
f.write("憨憨最憨\n")
print(f.tell()) #   返回字节数

结果:

文件内容:
憨憨最憨
憨憨最憨
输出:
28

解释:

ascii – 没有中文

gbk – 英文8b,1B,中文16b 2B

unicode – 英文 16b 2B,中文32b 4B

UTF-8 – 汉字编码占用3个字节;

4.2 seek 移动光标

两个参数:

seek(0,0) – 移动到文件的头部

seek(0,1) – 当前位置

seek(0,2)– 移动到文件的末尾

一个参数:

seek(3) – 按照字节进行移动(按照编码集进行计算)

print(f.seek(0,2))    #将光标移动到指定位置
print(f.read())
4.3 文件修改

说明:把文件里面的内容修改

源文件:

f=open("小姐姐电话号码","r",encoding="utf-8")
s=f.read()
s1=s.replace("最","太")
print(s1)
#   换完之后再写入文件
f=open("小姐姐电话号码","w",encoding="utf-8")
f.write(s1)

结果:

存在问题:

  1. 原来文件未被保留
  2. 先读后写耽误时间
  3. 文件未被关闭
  4. 可能有时候需要一下打开很多文件

解决办法:

(1) with:关键字 open® as f,open(w) f1:

(2)---------文件的具体操作

with open("小姐姐电话号码","r",encoding="utf-8") as f,open("小姐姐电话号码.txt","w",encoding="utf-8") as f1:
    for i in f:
        s1 = i.replace("最", "太爱")
        f1.write(s1)

更改文件名

# import os
# os.rename("小姐姐电话号码.txt","小姐姐电话号码.bak")

相关文章
|
11天前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
1天前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
12 3
|
21天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
51 20
|
2月前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
27天前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
|
28天前
|
存储 JSON 对象存储
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
|
1月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。
|
2月前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
1月前
|
数据可视化 数据挖掘 大数据
1.1 学习Python操作Excel的必要性
学习Python操作Excel在当今数据驱动的商业环境中至关重要。Python能处理大规模数据集,突破Excel行数限制;提供丰富的库实现复杂数据分析和自动化任务,显著提高效率。掌握这项技能不仅能提升个人能力,还能为企业带来价值,减少人为错误,提高决策效率。推荐从基础语法、Excel操作库开始学习,逐步进阶到数据可视化和自动化报表系统。通过实际项目巩固知识,关注新技术,为职业发展奠定坚实基础。
|
Python
【Python初级】StringIO和BytesIO读写操作的小思考
from io import StringIO; f = StringIO(); f.write('Hello World'); s = f.readline(); print s; 上面这种方法“无论如何”都读不出f的内容,使用readlines和循环也不行。
1530 0

热门文章

最新文章

推荐镜像

更多