python文件的基本操作,文件读写
1.文件
1.1文件就是存储在某种长期存储设备上的一段数据
1.2文件操作
打开文件-->读写文件-->关闭文件
注意:可以只打开和关闭文件不进行任何操作
1.3文件对象的方法
1.open():创建一个file对象,默认以只读模式打开
2.read(n):n表示从文件中读取的数据的长度,没有传n值就默认一次性读取文件的素有内容
3.write():将指定内容写入文件
4.close():关闭文件
1.4属性
文件名.name:返回要打开文件的文件名,可以包含文件的具体路径
文件名.mode:返回文件访问模式
文件名.closed:检测文件是否关闭,关闭就返回True
#打开文件
f = open('test.txt')
print(f.name) #文件名
print(f.mode) #文件访问模式
print(f.closed)#关闭文件
f.close()
print(f.closed)

2.读写操作
2.1read(n):n表示从文件中读取的数据的长度,没有传n值或者传值为负值就默认一次性读取文件的素有内容

f = open('test.txt')
print(f.read(5)) #panda 最多读取5个数据
f.close()
这是当当前文件夹下创建的文件,也就是通过相对路径进行访问的,我们也可以通过绝对路径进行访问(注意取消\(反斜杠的转义)要么在加一个\ 要么字符串前面加r)
2.2readline:一次读取一行数据,方法执行完,就会把文件指针移到下一行,准备再次读取

2.3按照行的方式把文件内容一次性读取,返回的是一个列表,每一行的数据就是列表中的一个元素
f = open('test.txt')
text = f.readlines()
print(text) #['panda is studing Python\n', 'monkey is playing basketball\n', 'bear is sleeping']
print(type(text)) #<class 'list'>for i in text:print(i) #将数据一行一行打印f.close()
2.4访问模式
2.4.1 r,只读模式(默认模式),文件必须存在,不存在就会报错
2.4.2 w,只写模式,文件存在就会先清空文件,再写入添加内容,不存在就会创建新文件
2.4.3 +,使用+表示可以同时读写某个文件
使用+会影响文件的读写效率,开发过程中更多时候会以只读,只写方式来操作文件
r+,可读写文件,文件不存在就会报错
w+,先写在读,文件存在就重新编辑文件,不存在就创建新文件
(但是写入后无法直接读)
2.4.4 a,追加模式,不存在就创建新文件进行写入,存在则在原有内容的基础上追加新内容
文件指针:标记从哪个位置开始读写操作
接下来我们来讨论w+写入之后读取的两种方式
1.写入之后关闭文件,再以只读的形式(或者默认形式)打开文件进行读取。
f = open('test1.txt','w+')
f.write('i like study')f.close()f = open('test1.txt')
print(f.read()) #i like study
f.close()
2.文件指针与文件定位
2.5文件定位操作
tell()和seek()
tell():显示文件内当前位置,即文件指针当前位置
seek(offset,whence):移动文件读取指针到指定位置
offset:偏移量,表示要移动的字节数
whence:起始位置,表示移动字节的参考位置,默认是0,0代表文件开头作为参考位置,1代表当前位置,2代表将文件结尾作为参考位置
seek(0,0)就会把文件指针移动到文件开头
f = open('test1.txt','w+')
f.write('i like study')
pos1 = f.tell()
print("当前文件指针的位置",pos1) #当前文件指针的位置 12(文件内容长度)f.seek(0,0)pos2 = f.tell()
print("移动后文件指针的位置",pos2) #移动后文件指针的位置 0print(f.read()) #i like study
f.close()
3.with open
作用:代码执行完,系统会自动调用f.close(),可以省略文件的关闭步骤
with open('test.txt','w') as f: #f是文件对象f.write('today is a good day')print(f.closed) #False
print(f.closed) #True
4.编码格式
注意:file对象的encoding参数的默认值与平台有关,比如windows上默认编码字符编码为GBK
encoding表示编码集,根据文件的实际保存编码进行获取数据,对于我们而言,使用更多的是utf-8
凡是文件中涉及到中文写入读取的都建议将encoding改成utf-8/UTF-8
with open('test.txt','w',encoding='utf-8') as f:f.write('我爱中国')
with open('test.txt',encoding='utf-8') as f:print(f.read()) #我爱中国
4.1图片复制'rb'
1.读取图片,图片是一个二进制文件,想要写入必须先拿到
2.写入图片
with open(r"G:\照片\2afe269b-cd02-46d3-a0c7-9e9fa8d48bd51724476817746.jpeg",'rb') as file:#读取图片img = file.read()print(img)#将读取内容写入到当前文件
with open('E:\project\pyhton-learning\PyCharm_project\pythonProject2_26\图片.jpg','wb') as f:f.write(img)
5.目录常用操作
导入模块 os
1.文件重命名 os.rename(旧名字,新名字)
2.删除文件 os.remove()
3.创建文件夹 os.mkdir() --make
4.删除文件夹 os.rmdir() --remove
import os
#文件重命名
os.rename('test1.txt','test2.txt')
#删除文件
os.remove('test.txt')
#创建文件夹
os.mkdir('panda')
os.mkdir('monkey')
#删除文件夹
os.rmdir('monkey')
5.获取当前目录 os.getcwd()
6.获取目录列表 os.listdir()
获取上一级目录列表os.listdir('../')


相关文章:
python文件的基本操作,文件读写
1.文件 1.1文件就是存储在某种长期存储设备上的一段数据 1.2文件操作 打开文件-->读写文件-->关闭文件 注意:可以只打开和关闭文件不进行任何操作 1.3文件对象的方法 1.open():创建一个file对象,默认以只读模式打开 2.read(n):n表示从文件中…...
华为认证考试证书下载步骤(纸质+电子版)
华为考试证书可以通过官方渠道下载相应的电子证书,部分高级认证如HCIE还支持申请纸质证书。 一、华为电子版证书申请步骤如下: ①访问华为培训与认证网站 打开浏览器,登录华为培训与认证官方网站 ②登录个人账号 在网站首页,点…...
正式页面开发-登录注册页面
整体路由设计: 登录和注册的切换是切换组件或者是切换内容(v-if和 v-else),因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页,有三个大模块:文章分类&…...
nss刷题5(misc)
[HUBUCTF 2022 新生赛]最简单的misc 打开后是一张图片,没有其他东西,分离不出来,看看lsb,红绿蓝都是0,看到头是png,重新保存为png,得到一张二维码 扫码得到flag [羊城杯 2021]签到题 是个动图…...
深入Linux序列:进程的终止与等待
在之前的学习中,我们知道我们的进程在运行结束的时候,那么它并不会立即进入死亡状态,而是先进入僵尸状态,维持僵尸状态一段时间,那么此时在僵尸状态中的进程,那么它的内核数据已经移出内存被清理了…...
蓝桥杯之日期问题2
文章目录 需求11.1 代码 2.需求22.1代码 需求1 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期…...
【STL】7.STL常用算法(1)
STL常用算法(1) 前言简介一.遍历算法1.for_each2.transform 二.查找算法1.find2.find_if3.adjacent_find4.binary_search5.count6.cout_if 三.排序算法1.sort2.random_shuffle3.merge4.reverse 总结 前言 stl系列主要讲述有关stl的文章,使用S…...
uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)
项目有个需求,需要生成app和小程序,app支持离线数据库,如果当前没有网络提醒用户开启离线模式,所以就随便搞了下,具体的思路就是: 一个接口和多个实现类(类似后端的模板设计模式)&am…...
百度觉醒,李彦宏渴望光荣
文 | 大力财经 作者 | 魏力 2025年刚刚开年,被一家名为DeepSeek的初创公司强势改写。在量化交易出身的创始人梁文锋的带领下,这支团队以不到ChatGPT 6%的训练成本,成功推出了性能可与OpenAI媲美的开源大模型。 此成果一经问世,…...
【算法工程】大模型局限性新发现之解决能连github但无法clone项目的问题
最近,linux服务器遇到一个奇怪的问题,能ping通github,但是无法clone git项目,尝试了各种大模型,都提到代理啥的问题,发现没有一个能解决问题。 后来尝试设置 http.sslVerify 为 false,才解决问题…...
SOME/IP-SD -- 协议英文原文讲解3
前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.4…...
软件测试八股文,软件测试常见面试合集【附答案】
PS:加上参考答案有几十万字,答案就没有全部放上来了,高清打印版本超过400多页,评论区留言直接获取 1、你的测试职业发展是什么? 2、你认为测试人员需要具备哪些素质 3、你为什么能够做测试这一行 4、测试的目的是什么? 5、…...
数据结构秘籍(一)线性数据结构
1.数组 数组(Array)是一种很常见的数据结构。它由相同类型的元素(element)组成,并且是使用一块连续的内存来存储。 我们直接可以利用元素的索引(index)计算出该元素对应的存储地址。 数组的特…...
TFChat:腾讯大模型知识引擎(DeepSeek R1)+飞书机器人实现AI智能助手
效果 TFChat项目地址 https://github.com/fish2018/TFChat 腾讯大模型知识引擎用的是DeepSeek R1,项目为sanic和redis实现,利用httpx异步处理流式响应,同时使用buffer来避免频繁调用飞书接口更新卡片的网络耗时。为了进一步减少网络IO消耗&…...
使用消息队列怎样防止消息重复?
大家好,我是君哥。 使用消息队列时,我们经常会遇到一个可能对业务产生影响的问题,消息重复。在订单、扣款、对账等对幂等有要求的场景,消息重复的问题必须解决。 那怎样应对重复消息呢?今天来聊一聊这个话题。 1.三…...
MySQL安装多版本与版本切换
起因 今天在将一个项目部署到本地,想着是先找到一个功能差不多的开源项目,再在这基础之上进行改动,找到的这个项目使用的MySQL版本是MySQL5.7,应该是比较古早的项目了,但是我现在装的是8.4版本的,所以涉及…...
Docker02 - 深入理解Docker
深入理解Docker 文章目录 深入理解Docker一:Docker镜像原理1:镜像加载原理1.1:unionFS1.2:加载原理 2:分层理解 二:容器数据卷详解1:什么是容器数据卷2:使用数据卷3:具名…...
检查SSH安全配置-sshd服务端未认证连接最大并发量配置
介绍 MaxStartups参数指到SSH守护进程的未经身份验证的最大并发连接数。 逻辑依据 为防止系统因大量待处理的身份验证连接尝试而出现拒绝服务的情况,请使用 MaxStartups 的速率限制功能来保护 sshd 登录的可用性,并防止守护进程不堪重负。 检查方法 …...
HarmonyOS Design 介绍
HarmonyOS Design 介绍 文章目录 HarmonyOS Design 介绍一、HarmonyOS Design 是什么?1. 设计系统(Design System)2. UI 框架的支持3. 设计工具和资源4. 开发指南5. 与其他设计系统的对比总结 二、HarmonyOS Design 特点 | 应用场景1. Harmon…...
C++中的多重继承
在 C 中,多重继承是一种允许一个类同时继承多个基类的特性。这意味着派生类可以继承多个基类的属 性和方法。 多重继承增加了语言的灵活性,但同时也引入了额外的复杂性,特别是当多个基类具有相同 的成员时。 基本概念 在多重继承中ÿ…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
(十)学生端搭建
本次旨在将之前的已完成的部分功能进行拼装到学生端,同时完善学生端的构建。本次工作主要包括: 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module
1、为什么要修改 CONNECT 报文? 多租户隔离:自动为接入设备追加租户前缀,后端按 ClientID 拆分队列。零代码鉴权:将入站用户名替换为 OAuth Access-Token,后端 Broker 统一校验。灰度发布:根据 IP/地理位写…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...
新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
Linux --进程控制
本文从以下五个方面来初步认识进程控制: 目录 进程创建 进程终止 进程等待 进程替换 模拟实现一个微型shell 进程创建 在Linux系统中我们可以在一个进程使用系统调用fork()来创建子进程,创建出来的进程就是子进程,原来的进程为父进程。…...
