【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")

相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
249 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
29天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
11天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
15 2
|
24天前
|
Python
python读写操作excel日志
主要是读写操作,创建表格
50 2
|
27天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
28天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
30天前
|
机器学习/深度学习 人工智能 架构师
Python学习圣经:从0到1,精通Python使用
尼恩架构团队的大模型《LLM大模型学习圣经》是一个系统化的学习系列,初步规划包括以下内容: 1. **《Python学习圣经:从0到1精通Python,打好AI基础》** 2. **《LLM大模型学习圣经:从0到1吃透Transformer技术底座》**
Python学习圣经:从0到1,精通Python使用
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
348 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
41 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
30天前
|
机器学习/深度学习 人工智能 架构师