python文件操作、文件操作、读写文件、写模式
with读取文件数据内容
with open(filepath,mode,encoding) as file:#具体操作,例如:print(file.read())#查看文件所有的内容。
| with: | Python中的一个上下文管理器,用于简化资源的管理和释放。它可以用于任意需要进行资源分配和释放的情境,比如文件操作、数据库连接等。 |
| open: | open()内置函数用于打开文件,并返回一个文件对象。它接受两个参数:文件名和打开模式。 |
| filepath: | 这是你要打开的文件的路径。 |
| mode: | 打开模式(mode),用于指定文件的操作模式。 |
| encoding: | 这是用于读取或写入文件的字符编码。常见的编码有:
如果不指定 |
| as: |
|
mode操作模式
| 语 法 | 说明 |
| r:(只读模式) | 只读模式。默认模式。适用于读取文件。 |
| rb:(只读模式) | 读取二进制数据,例如图像、音频等文件。其中r表示只读操作,b表示以二进制格式打开文件。 |
| w:(写入模式) | 写入模式。覆盖写入文本内容。如果文件不存在,则会创建一个新文件。 |
| wb:(写入模式) | 覆盖写入二进制数据内容。如果文件不存在,则会创建一个新文件。 |
| a:(写入模式) | 追加模式。在文件末尾追加内容。如果文件不存在,则会创建一个新文件。 |
| x: | 独占创建模式。如果文件已存在,则会引发FileExistsError异常。 |
| b: | 二进制模式。用于读取或写入二进制文件。 |
| t: | 文本模式。默认模式,用于读取或写入文本文件。 |
| +: | 更新模式。打开文件用于读写。可以与其他模式组合使用,如'r+'、'w+'、'a+'。 |
读语法
| 语法 | 说明 |
| read() | 一次性读取整个文件的内容. |
| readline() | 每次读取一行, 包括行尾的换行符 \ n, 当读取到文件结尾时将返回一个空字符串. |
| readlines() | 一次性读取文件的所有行,并将每行内容作为一个字符串元素存放在列表. |
写语法
| 语法 | 说明 |
| write(date) | 写入的数据内容,data必须是字符串string |
读案例
with open("csdn.py","r") as file:print(file.read())
#读取csdn.py文件中全部的内容。
追加写入案例
with open("jingyu","a") as file:file.write("Welcome to csdn jingyu飞鸟 Blog\n")
#向jingyu文件中追加写入内容。
\n是换行,如果没有\n的话情况就是这样的。
覆盖写入案例
with open("jingyu","w") as file:file.write("Wait for you, hold my hand lightly.\n")
复制文本文件内容
with open("/jingyu/one.txt","r") as o,open("/jingyu/two.txt","r") as t:o.write(t.read())
复制二进制文件
with open("/jingyu/jingyu.png","rb") as o, open("/jingyu/jingyutwo.png","wb") as t:o.write(w.read())
文件及文件夹操作
| 序号 | 命令 | 说明 |
| 1 | os.getcwd() | 获取当前目录地址 |
| 2 | os.chdir(path) | 切换目录 |
| 3 | os.path.exists(filename/path) | 判断文件或文件夹是否存在 |
| 4 | os.path.basename(path) | 获取文件名 |
| 5 | os.path.dirname(path) | 获取路径 |
| 6 | os.path.split(path) | 获取路径的目录和文件名 |
| 7 | os.path.splitext(path) | 分离扩展名 |
| 8 | os.path.getsize(path) | 获取文件大小 |
| 9 | os.stat(path) | 获取文件属性 |
| 10 | os.mknod(filename) | 创建文件 |
| 11 | os.mkdir(path) | 创建文件夹 |
| 12 | os.makedirs(path) | 创建多级文件夹 |
| 13 | shutil.copyfile(filepath,filepath) | 复制文件 |
| 14 | shutil.copytree(path,path) | 复制文件夹 |
| 15 | shutil.move(filepath,path) | 移动文件 |
| 16 | os.listdir() | 查看目录列表 |
| 17 | os.remove(filepath) | 删除文件 |
| 18 | os.rmdir(path) | 删除空文件夹(空) |
| 19 | os.removedirs(path) | 删除多级文件夹(空) |
| 20 | shutil.rmtree(path) | 删除单/多级文件夹(非空) |
| 21 | os.path.isfile(filepath) | 是否为文件 |
| 22 | os.path.isdir(path) | 是否为目录 |
案例:
import os# 获取当前目录地址
print(os.getcwd())# 切换目录
os.chdir("/root/temp")
print(os.getcwd())# 创建文件
if not os.path.exists("/root/temp/demo01.txt"):os.mknod("demo01.txt")# 获取文件名
print(os.path.basename("/root/temp/demo01.txt"))# 获取路径
print(os.path.dirname("/root/temp/demo01.txt"))# 获取路径的目录名和文件名
print(os.path.split("/root/temp/demo01.txt"))# 分离扩展名
print(os.path.splitext("/root/temp/demo01.txt"))# 获取文件的大小
print(os.path.getsize("/root/temp/demo01.txt"))# 获取文件的属性
_file_detail = os.stat("/root/temp/demo01.txt")
print(os.stat("/root/temp/demo01.txt"))# 获取文件大小
print(_file_detail.st_size)# 获取文件创建时间
print(_file_detail.st_ctime)# 获取文件修改时间
print(_file_detail.st_mtime)# 获取文件访问时间
print(_file_detail.st_atime)# 创建文件夹
if not os.path.exists("/root/temp"):os.mkdir("/root/temp")# 创建多级文件夹
if not os.path.exists("/root/my/demo"):os.makedirs("/root/my/demo")# 查看目录"列表
os.chdir("/root")
print(os.listdir())# 创建文件
if not os.path.exists("/root/my/demo/test01.txt"):os.chdir("/root/my/demo")os.mknod("test01.txt")# 写入数据
_file = open("/root/my/demo/test01.txt", "w",encoding="UTF-8")
_file.write("i like python....")
_file.close()# 删除一个指定的空文件夹
os.rmdir("/root/my")
os.rmdir("/root/rm")# 删除一个指定的多级目录
os.removedirs("/root/my") # OSError: [Errno 39]
os.removedirs("/root/1/2")
# 删除目录(非空也可)import shutilshutil.rmtree("/root/my")
print(os.path.isfile("/root/data/123.png"))
print(os.path.isdir("/root/data"))
print(os.path.isfile("/root/data"))
print(os.path.isdir("/root/data/a.txt"))# 复制文件
shutil.copyfile("/root/data/hello.txt","/root/data/hellobf1.txt")# 复制文件夹
shutil.copytree("/root/data", "/root/mytest")# 移动文件
shutil.move("/root/data/123.png","/root/files/temp")# 删除文件
os.remove("/root/files/temp/123.png")相关文章:
python文件操作、文件操作、读写文件、写模式
with读取文件数据内容 with open(filepath,mode,encoding) as file:#具体操作,例如:print(file.read())#查看文件所有的内容。 with:Python中的一个上下文管理器,用于简化资源的管理和释放。它可以用于任意需要进行资源分配和释放的情境…...
【亲测可用】docker进入正在运行的容器
微信公众号:leetcode_algos_life,代码随想随记 小红书:412408155 CSDN:https://blog.csdn.net/woai8339?typeblog ,代码随想随记 GitHub: https://github.com/riverind 抖音【暂未开始,计划开始】…...
线程池吞掉异常的case:源码阅读与解决方法
1. 问题背景 有一天给同事CR,看到一段这样的代码 try {for (param : params) {//并发处理,func无返回值ThreadPool.submit(func(param));} } catch (Exception e) {log.info("func抛异常啦,参数是:{}", param) } 我:你这段代码是…...
基于mysqlbinlog恢复数据
1、把binlog转换为SQL mysqlbinlog --base64-outputdecode-rows -vv /usr/local/mysql/log-bin/mysql-bin.000003 >result.sql find / -name result.sql 2、查看events show binlog events in mysql-bin.000003; 3、回滚到3667那一行的数据 mysqlbinlog -v /usr/local/mys…...
Android_Android Studio 常用快捷键 for mac
功能快捷键运行ctrl R优化importctrl opt O格式化opt cmd L自动修正opt enter自动补齐cmd J自动生成代码cmd N搜索使用到的地方fn opt F7 ( cmd)搜索使用到的地方2shift cmd F搜索类cmd O当前文件搜索cmd F全局搜索按两下 shift搜索文件shift cmd O搜索符号opt…...
[EFI]NUC11电脑 Hackintosh 黑苹果efi引导文件
硬件型号驱动情况主板 英特尔 NUC11DBBi9(LPC Controller WM590芯片组) 处理器 11th Gen Intel Core i9-11900KB 3.30GHz 八核 已驱动内存32 GB ( 三星 DDR4 3200MHz 16GB x 2 )已驱动硬盘三星 MZVL21T0HCLR-00B00 (1024 GB / 固态硬盘)已驱动显卡AMD R…...
在Ubuntu上配置和设置防火墙UFW
在本文我们学习如何在Ubuntu上配置和设置UFW(防火墙),UFW代表“不复杂的防火墙”,它充当IPTABLES的接口,从而简化了防火墙的配置过程,对于防火墙来说,这是非常困难的。初学者学习和配置防火墙规…...
nginx安装环境部署(完整步骤)
在部署nginx前,我们需要进行环境的部署 1.编译工具gcc,g,autoconf,automake ,make sudo apt-get install gcc g autoconf automake make 2.依赖库zlib,openssl,pcre 2.1 openssl下载地址 https://www.open…...
如何做电子骑缝章?
制作电子骑缝章的过程可以依据不同情况和所使用的工具而有所不同,但基本思路是确保印章能够跨过页面接缝,以验证文档的完整性。以下是几种常见的方法: 使用专业电子合同平台 选择平台:首先,确保你使用的电子合同平台…...
2024.6.13 bailuo-Docker 安装与镜像拉取
2024.6.13 bailuo-Docker 安装与镜像拉取 2024.6.12 bailuo-安装与镜像拉取 卸载 Docker 如果已安装旧版 Docker 则先卸载 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-en…...
【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式
1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码&am…...
使用`LD_PRELOAD`和`jemalloc`实现C/C++信号的内存堆栈信息收集
文章目录 0. 概要1. 编译jemalloc2. 编译钩子共享库liballoc_hook.so3. 使用LD_PRELOAD加载钩子库liballoc_hook.so测试3.1 设置环境变量3.2 使用LD_PRELOAD加载钩子库并运行程序3.3 发送SIGUSR1信号以触发堆栈信息打印3.4 使用jeprof解析heap堆栈信息文件 4. 示例程序example.…...
计算机组成原理(四)Cache存储器
文章目录 Cache存储器的基本原理cache命中率、平均访问时间、效率地址映射全相联映射直接映射组相联映射 查找算法cache 存储器替换策略cache 存储器-写操作策略习题 Cache存储器的基本原理 Cache是一种高速缓冲寄存器,是为了解决CPU和主存之间速度不匹配而采用的一…...
怎么做成的文件二维码?扫阅览文件的制作方法
现在用二维码来分享或者查看文件是一种很常用的方式,比如常见的文件内容有简历、资料、作品、压缩包等等。通过将文件生成二维码能够在提升文件传输速度的同时还有利于用户体验的提升,那么如何制作可以长期提供文件预览或者下载的二维码呢? …...
js 前端 Function.prototype.call.call(0[‘toString‘], *, 16)
这个函数将 数组转任意进制 Function.prototype.call.call(0[toString], *, 16)...
李沐:用随机梯度下降来优化人生!
大侠幸会,在下全网同名「算法金」 0 基础转 AI 上岸,多个算法赛 Top 「日更万日,让更多人享受智能乐趣」 今天我们来聊聊达叔 6 大核心算法之 —— 优化 算法。吴恩达:机器学习的六个核心算法! 梯度下降优化算法是机器…...
Linux 环境.Net程序堆栈查询
# 安装 dotnet tool install --global dotnet-dump# 收集信息, 产生 core_XXX 文件 dotnet-dump collect -p pid# 分析 core_XXX 文件 dotnet dump analyze core_XXX# 列出 大于 XXX 字节的 对象 dumpheap -stat -min XXX# 查看对象具体信息 dumpobj address_XXX# 查看对应引用…...
志愿服务管理系统的设计
管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,广场论坛管理,志愿活动管理,活动报名管理 前台账户功能包括:系统首页,个人中心,志愿活动&a…...
微信小游戏5月畅销榜,新老产品更替显著,亿级爆款频出
小游戏由于微信的平台扶持,被视为可以大力发掘的蓝海,成为国内游戏最大的增长机会之一,随着越来越多的大厂和中小厂转向了小游戏赛道,每个月的小游戏畅销榜单都有不同变化。 5月的小游戏畅销榜显示,小游戏市场正经历显…...
自己想要公开自己的学习方法,但是自己很害怕自己的学习方法是一个错误的,因为对于自己而言,专升本的机会只有一次
分享自己的学习方法可能需要一定的勇气,特别是当你担心可能会受到批评或是不被理解时。以下是一些建议,可以帮助你克服这种恐惧:(kimi编辑器自己对于这些内容的基础批注) 自我肯定:首先,认识到你…...
springboot汽车配件商城销售管理系统
目录系统架构设计数据库设计核心功能实现销售管理模块库存预警功能报表统计模块系统测试策略部署方案项目技术支持源码获取详细视频演示 :文章底部获取博主联系方式!同行可合作系统架构设计 采用SpringBoot作为后端框架,搭配MyBatis或JPA实现…...
SEO_移动端SEO优化的关键步骤与注意事项介绍
<h1 id"seo">移动端SEO优化的关键步骤与注意事项介绍</h1> <p>在互联网时代,移动端已经成为用户访问网站的主要途径。因此,移动端SEO优化变得尤为重要。本文将详细介绍移动端SEO优化的关键步骤与注意事项,帮助你…...
别再傻傻用二维数组存大矩阵了!手把手教你用C++实现稀疏矩阵的三元组压缩(附完整代码)
稀疏矩阵高效存储实战:从三元组压缩到十字链表的C实现 当你在处理一个1000010000的矩阵,却发现其中99%的元素都是零时,传统的二维数组存储方式就像用集装箱运输几颗散落的珍珠——浪费了巨大的空间和运输成本。这种"稀疏"场景在科学…...
SAR成像RD算法仿真:为什么你的点目标旁瓣降不下去?从原理到Matlab代码的深度调优
SAR成像RD算法旁瓣抑制难题:从原理到Matlab调优实战 当你在Matlab中实现RD(距离多普勒)算法进行SAR(合成孔径雷达)成像仿真时,是否遇到过这样的困扰:明明按照教科书步骤编写了代码,但…...
高分二号卫星全解析:从光谱波段到城市管理的实战应用
1. 高分二号卫星的技术参数详解 高分二号卫星作为我国首颗亚米级高分辨率民用光学遥感卫星,其技术参数直接决定了它在城市管理中的应用能力。先说说最核心的空间分辨率:全色波段0.8米意味着能清晰识别小轿车级别的物体,多光谱3.2米分辨率则适…...
Qwen2.5-Omni:多模态流式交互的Thinker-Talker架构与TMRoPE技术解析
1. Qwen2.5-Omni的核心设计理念 第一次接触Qwen2.5-Omni时,最让我惊讶的是它处理多模态数据的流畅程度。想象一下,你正在和AI助手讨论一段视频内容,它能同时理解画面中的物体、背景音乐的情绪,还能用自然语音回应你的问题——这就…...
QQ机器人开发零基础入门:LuckyLilliaBot插件完全指南
QQ机器人开发零基础入门:LuckyLilliaBot插件完全指南 【免费下载链接】LuckyLilliaBot NTQQ的OneBot API插件 项目地址: https://gitcode.com/gh_mirrors/li/LuckyLilliaBot 在即时通讯机器人开发领域,如何快速实现QQ平台的自动化交互?…...
华为防火墙NAT映射选择指南:一对一映射 vs 端口映射
华为防火墙NAT映射技术深度解析:一对一映射与端口映射的实战选择 在当今企业网络架构中,如何安全高效地将内部服务暴露给外部访问是一个永恒的技术挑战。华为防火墙提供的NAT映射功能,特别是一对一映射和端口映射两种核心方案,为不…...
终极指南:RealChar语音识别技术深度对比——Whisper、Google Speech与本地部署方案
终极指南:RealChar语音识别技术深度对比——Whisper、Google Speech与本地部署方案 【免费下载链接】RealChar 🎙️🤖Create, Customize and Talk to your AI Character/Companion in Realtime (All in One Codebase!). Have a natural seaml…...
Uvicorn与Packet.net:高性能服务器部署Python服务的完整指南
Uvicorn与Packet.net:高性能服务器部署Python服务的完整指南 【免费下载链接】uvicorn An ASGI web server, for Python. 🦄 项目地址: https://gitcode.com/GitHub_Trending/uv/uvicorn Uvicorn是一个专为Python设计的ASGI Web服务器,…...
