当前位置: 首页 > news >正文

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文件操作 打开文件-->读写文件-->关闭文件 注意&#xff1a;可以只打开和关闭文件不进行任何操作 1.3文件对象的方法 1.open():创建一个file对象&#xff0c;默认以只读模式打开 2.read(n):n表示从文件中…...

华为认证考试证书下载步骤(纸质+电子版)

华为考试证书可以通过官方渠道下载相应的电子证书&#xff0c;部分高级认证如HCIE还支持申请纸质证书。 一、华为电子版证书申请步骤如下&#xff1a; ①访问华为培训与认证网站 打开浏览器&#xff0c;登录华为培训与认证官方网站 ②登录个人账号 在网站首页&#xff0c;点…...

正式页面开发-登录注册页面

整体路由设计&#xff1a; 登录和注册的切换是切换组件或者是切换内容&#xff08;v-if和 v-else)&#xff0c;因为点击两个之间路径是没有变化的。也就是登录和注册共用同一个路由。登录是独立的一级路由。登录之后进到首页&#xff0c;有三个大模块&#xff1a;文章分类&…...

nss刷题5(misc)

[HUBUCTF 2022 新生赛]最简单的misc 打开后是一张图片&#xff0c;没有其他东西&#xff0c;分离不出来&#xff0c;看看lsb&#xff0c;红绿蓝都是0&#xff0c;看到头是png&#xff0c;重新保存为png&#xff0c;得到一张二维码 扫码得到flag [羊城杯 2021]签到题 是个动图…...

深入Linux序列:进程的终止与等待

在之前的学习中&#xff0c;我们知道我们的进程在运行结束的时候&#xff0c;那么它并不会立即进入死亡状态&#xff0c;而是先进入僵尸状态&#xff0c;维持僵尸状态一段时间&#xff0c;那么此时在僵尸状态中的进程&#xff0c;那么它的内核数据已经移出内存被清理了&#xf…...

蓝桥杯之日期问题2

文章目录 需求11.1 代码 2.需求22.1代码 需求1 2020 年春节期间&#xff0c;有一个特殊的日期引起了大家的注意&#xff1a;2020 年 2 月 2 日。因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202&#xff0c;恰好是一个回文数。我们称这样的日期是回文日期…...

【STL】7.STL常用算法(1)

STL常用算法&#xff08;1&#xff09; 前言简介一.遍历算法1.for_each2.transform 二.查找算法1.find2.find_if3.adjacent_find4.binary_search5.count6.cout_if 三.排序算法1.sort2.random_shuffle3.merge4.reverse 总结 前言 stl系列主要讲述有关stl的文章&#xff0c;使用S…...

uniapp 本地数据库多端适配实例(根据运行环境自动选择适配器)

项目有个需求&#xff0c;需要生成app和小程序&#xff0c;app支持离线数据库&#xff0c;如果当前没有网络提醒用户开启离线模式&#xff0c;所以就随便搞了下&#xff0c;具体的思路就是&#xff1a; 一个接口和多个实现类&#xff08;类似后端的模板设计模式&#xff09;&am…...

百度觉醒,李彦宏渴望光荣

文 | 大力财经 作者 | 魏力 2025年刚刚开年&#xff0c;被一家名为DeepSeek的初创公司强势改写。在量化交易出身的创始人梁文锋的带领下&#xff0c;这支团队以不到ChatGPT 6%的训练成本&#xff0c;成功推出了性能可与OpenAI媲美的开源大模型。 此成果一经问世&#xff0c;…...

【算法工程】大模型局限性新发现之解决能连github但无法clone项目的问题

最近&#xff0c;linux服务器遇到一个奇怪的问题&#xff0c;能ping通github&#xff0c;但是无法clone git项目&#xff0c;尝试了各种大模型&#xff0c;都提到代理啥的问题&#xff0c;发现没有一个能解决问题。 后来尝试设置 http.sslVerify 为 false&#xff0c;才解决问题…...

SOME/IP-SD -- 协议英文原文讲解3

前言 SOME/IP协议越来越多的用于汽车电子行业中&#xff0c;关于协议详细完全的中文资料却没有&#xff0c;所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块&#xff1a; 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.2.4…...

软件测试八股文,软件测试常见面试合集【附答案】

PS&#xff1a;加上参考答案有几十万字&#xff0c;答案就没有全部放上来了&#xff0c;高清打印版本超过400多页&#xff0c;评论区留言直接获取 1、你的测试职业发展是什么? 2、你认为测试人员需要具备哪些素质 3、你为什么能够做测试这一行 4、测试的目的是什么? 5、…...

数据结构秘籍(一)线性数据结构

1.数组 数组&#xff08;Array&#xff09;是一种很常见的数据结构。它由相同类型的元素&#xff08;element&#xff09;组成&#xff0c;并且是使用一块连续的内存来存储。 我们直接可以利用元素的索引&#xff08;index&#xff09;计算出该元素对应的存储地址。 数组的特…...

TFChat:腾讯大模型知识引擎(DeepSeek R1)+飞书机器人实现AI智能助手

效果 TFChat项目地址 https://github.com/fish2018/TFChat 腾讯大模型知识引擎用的是DeepSeek R1&#xff0c;项目为sanic和redis实现&#xff0c;利用httpx异步处理流式响应&#xff0c;同时使用buffer来避免频繁调用飞书接口更新卡片的网络耗时。为了进一步减少网络IO消耗&…...

使用消息队列怎样防止消息重复?

大家好&#xff0c;我是君哥。 使用消息队列时&#xff0c;我们经常会遇到一个可能对业务产生影响的问题&#xff0c;消息重复。在订单、扣款、对账等对幂等有要求的场景&#xff0c;消息重复的问题必须解决。 那怎样应对重复消息呢&#xff1f;今天来聊一聊这个话题。 1.三…...

MySQL安装多版本与版本切换

起因 今天在将一个项目部署到本地&#xff0c;想着是先找到一个功能差不多的开源项目&#xff0c;再在这基础之上进行改动&#xff0c;找到的这个项目使用的MySQL版本是MySQL5.7&#xff0c;应该是比较古早的项目了&#xff0c;但是我现在装的是8.4版本的&#xff0c;所以涉及…...

Docker02 - 深入理解Docker

深入理解Docker 文章目录 深入理解Docker一&#xff1a;Docker镜像原理1&#xff1a;镜像加载原理1.1&#xff1a;unionFS1.2&#xff1a;加载原理 2&#xff1a;分层理解 二&#xff1a;容器数据卷详解1&#xff1a;什么是容器数据卷2&#xff1a;使用数据卷3&#xff1a;具名…...

检查SSH安全配置-sshd服务端未认证连接最大并发量配置

介绍 MaxStartups参数指到SSH守护进程的未经身份验证的最大并发连接数。 逻辑依据 为防止系统因大量待处理的身份验证连接尝试而出现拒绝服务的情况&#xff0c;请使用 MaxStartups 的速率限制功能来保护 sshd 登录的可用性&#xff0c;并防止守护进程不堪重负。 检查方法 …...

HarmonyOS Design 介绍

HarmonyOS Design 介绍 文章目录 HarmonyOS Design 介绍一、HarmonyOS Design 是什么&#xff1f;1. 设计系统&#xff08;Design System&#xff09;2. UI 框架的支持3. 设计工具和资源4. 开发指南5. 与其他设计系统的对比总结 二、HarmonyOS Design 特点 | 应用场景1. Harmon…...

C++中的多重继承

在 C 中&#xff0c;多重继承是一种允许一个类同时继承多个基类的特性。这意味着派生类可以继承多个基类的属 性和方法。 多重继承增加了语言的灵活性&#xff0c;但同时也引入了额外的复杂性&#xff0c;特别是当多个基类具有相同 的成员时。 基本概念 在多重继承中&#xff…...

全球AI监管格局:合规将成为企业AI落地的核心门槛

全球AI监管现状欧盟《人工智能法案》将AI系统分为四类风险等级&#xff0c;禁止不可接受风险类AI&#xff08;如社会评分系统&#xff09;&#xff0c;高风险类AI需满足严格合规要求&#xff08;如医疗设备&#xff09;。违规罚款可达全球营业额6%。美国采取分行业监管模式&…...

如何中止正在运行的RMAN备份_利用OS kill进程或SQL强杀通道会话

中止RMAN备份必须使用RMAN自身命令&#xff08;如ABORT&#xff09;或CtrlC&#xff0c;禁用kill -9&#xff1b;否则易致控制文件损坏&#xff0c;引发ORA-00205或ORA-00600错误&#xff0c;后续须验证v$backup_set、执行CROSSCHECK及备份控制文件。中止 RMAN 备份时&#xff…...

电流源逆变器(CSI)的9种工作模态详解:从开关状态到实际应用避坑指南

电流源逆变器(CSI)的9种工作模态深度解析与工程实践指南 电流源逆变器(CSI)作为电力电子领域的核心设备&#xff0c;在新能源发电、电机驱动等场景中扮演着关键角色。与常见的电压源逆变器(VSI)不同&#xff0c;CSI以电流为控制对象&#xff0c;其独特的工作特性既带来了性能优…...

基于机器学习模型的二手车价格预测研究

基于机器学习模型的二手车价格预测研究 摘要 随着中国汽车保有量的持续增长和二手车交易市场的日益活跃,建立科学、准确的二手车价格评估模型成为汽车行业和消费者共同关注的重要课题。传统的人工评估方法依赖经验判断,存在主观性强、标准不一等局限,难以适应海量、多变的…...

【仅限首批参会者披露】SITS2026圆桌闭门纪要:5家头部AI企业未公开的工程化SOP与3个反直觉降本技巧

第一章&#xff1a;SITS2026圆桌&#xff1a;大模型工程化的挑战与机遇 2026奇点智能技术大会(https://ml-summit.org) 大模型工程化已从实验室原型阶段迈入规模化生产部署的关键转折点。在SITS2026圆桌讨论中&#xff0c;来自Meta、阿里云、Hugging Face及多家AI基建初创公司…...

SM2加密实战:用C++封装GmSSL库,处理密钥文件与二进制密文的那些坑

SM2加密实战&#xff1a;用C封装GmSSL库的五个关键陷阱与解决方案 当你在Linux环境下用C集成SM2加密功能时&#xff0c;是否遇到过密钥文件读取失败、内存泄漏或二进制密文处理异常的问题&#xff1f;这些看似简单的操作背后&#xff0c;藏着不少让开发者抓狂的"坑"。…...

Win11 WSL2 + Ubuntu 24.04 下,如何让nRF开发板(DK)被VS Code和NCS v3.0.0正确识别?

Win11 WSL2环境下nRF开发板与NCS v3.0.0深度集成指南 当嵌入式开发遇上WSL2的Linux高效编译环境&#xff0c;硬件连接往往成为最后一道障碍。本文将彻底解决nRF开发板在Windows主机与WSL2 Ubuntu子系统间的识别难题&#xff0c;打造无缝硬件调试体验。 1. 环境准备与核心工具链…...

复杂业务场景下AI Agent Harness工程的落地实践与经验总结

复杂业务场景下AI Agent Harness工程的落地实践与经验总结引言 痛点引入&#xff1a; 各位技术博客的读者朋友们&#xff0c;大家好&#xff01;我是老王&#xff0c;一个在互联网电商、金融风控、制造业数字化转型三个赛道做了15年以上工程化落地的“搬砖老司机&#xff0c;最…...

百度网盘分享链接解析技术:原理、实现与高效下载方案

百度网盘分享链接解析技术&#xff1a;原理、实现与高效下载方案 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 百度网盘作为国内主流的云存储服务&#xff0c;其分享功能为用…...

Qwen3.5-9B:高性能GPU算力下的代码生成效果实测

Qwen3.5-9B&#xff1a;高性能GPU算力下的代码生成效果实测 1. 开篇&#xff1a;当大模型遇上高性能GPU 最近在星图GPU平台上测试了Qwen3.5-9B的代码生成能力&#xff0c;结果确实让人眼前一亮。作为一款专注于代码生成的大模型&#xff0c;Qwen3.5-9B在高性能GPU算力的加持下…...