每天10分钟,带你一周精通Python:第8章处理文件

n8n实战指南:低代码自动化工作流从入门到精通 本文详细介绍了n8n低代码自动化工具的核心功能与实战应用,包括环境搭建、安全配置、AI节点优化及企业级部署方案。通过具体案例展示如何利用n8n实现电商订单处理、客服自动回复等复杂工作流,显著提升效率并降低错误率。适合开发者快速掌握低代码自动化技术。 阅读详情

每天10分钟,带你一周精通Python:第8章处理文件

太酷了!我们已经学到了本专栏中项目前的最后一章。在本章中,我们将坐习如何处理外部的文件。

在前面的第5章中,我们学会了如何使用input()函数得到用户的输入。而在有些情况下,让用户在我们的程序中输入数据可能不太现实,尤其是当我们的程序需要处理大量数据的情况下。这时,更加方便的方式是把需要的信息先保存到一个外部的文件中,并让我们的程序从这个文件中读取信息。在本章中,我们将要学习如何这么做。准备好了么?

8.1打开并读取文本文件

我们将要读取的第一种类型的文件是一个简单的有多行文字的文本文件。为了这么做,让我们首先创建一个包含了下列几行文本的文件。

Learn Python in One Day and Learn It Well
Python for Beginners with Hands-on Project
The only book you need to start coding in Python
immediately
http://www.learncodingfast.com/python

把这个文本文件保存为myfile.txt,并保存到桌面上。接下来,打开IDLE并输入下面的代码。把这段代码保存为fileOperation.py,也放到桌面上。

f=open ('myfile.txt','r')
firstline = f.readline()
secondline = f.readline()
print (firstline)
print (secondline)

f.close()

代码中的第一行打开了文件。在能够从文件中读取信息之前,我们需要打开文件(就像你需要打开kindle设备或者应用上的电子书才能读取信息一样)。 Open函数的作用就是这样,它需要两个参数。

  • 第一个参数是文件的路径。如果你没有把fileOperation.py和myfile.txt放在同一个目录下(在本例中都放在桌面上),你就需要把“myfile.txt”替换为真实保存文本文件的路径。比如,如果你把它保存在一个位于C盘,名叫“PythonFiles”的文件夹中,你就需要写成“C:\PythonFiles\myfile.txt”(需要是双反斜杠)。

  • 第二个参数是模式。它指定了文件使用什么方式打开。最常见的模式是:

  • r模式: 仅仅只读。

  • w模式: 仅仅只写。
    如果指定的文件不存在,它将会被创建。
    如果指定的文件存在,文件中任何已有的数据都将被擦除。

  • a模式: 用于添加。
    如果指定的文件不存在,它将会被创建。
    如果指定的文件存在,任何写入文件的数据将会自动添加到文件的末尾。

  • r+模式: 用于读写。

在打开文件后,下一条语句firstline=f.readline()从文件中读取第一行,并把它分配给变量firstline。

每次调用readline()函数,它都会从文件中读取新的一行。在我们的程序中,readline()调用了两次。因此前两行信息就会被读取。当你运行这个程序时,你将会得到下面的输出。

Learn Python in One Day and Learn It Well

Python for Beginners with Hands-on Project

你将会发现每行后面都插入了一个换行符。这是因为readline()函数在每行的末尾添加了“\n”字符。如果你不想在每行文字间输出额外的那一行,你可以这么做print(firstline,end=’ ')。这将会删除“\n”字符。在读取和打印前两行后,最后的语句f.close()将会把文件关闭。一旦完成了文件的读取,你总是需要把文件关闭,以释放对应的系统资源。

8.2使用For循环来读取文本文件

除了使用上面的readline()方法来读取文本文件外,也可以使用for循环。事实上,for循环是读取文本文件更加优雅和有效的方式。下面的程序展示了这是怎么完成的。

f = open ('myfile.txt', ’r')

for line in f:
    print (line, end='')
f.close()

for循环会在文本文件上逐行循环。当运行它时,你将会得到:

Learn Python in One Day and Learn It Well
Python for Beginners with Hands-on Project
The only book you need to start coding in
Python immediately
http://www.learncodingfast.com/python

8.3 写入文本文件

既然已经学会了如何打开并读取文件,那么就让我们试着写入文件吧。为了写入文件,我将会使用a(添加)模式。你也可以使用w模式,但如果文件存在的话,这将会删除文件中原有的内容。尝试运行下面的程序。

f= open ('myfile,txt','a')

f.write('\nThis sentence will be
appended.')
f.write('\nPython is Fun!')

f.close()

其中我们使用write)函数向文件中添加了"This sentence will be appended.“和"Python is Fun!”,每行都会从一个新行开始,因为我们使用了换行符号“\n”你将会得到:

Learn Python in one Day and Learn It Well
Python for Beginners with Hands-on Project
The only book you need to start coding in
Python immediately
http://www.learncodingfast.com/python
This sentence will be appended.
Python is Fun!

8.4 通过缓冲大小来打开并读取文本文件

有时,我们可能想通过缓冲大小来读取文件,这样我们的程序就可以不使用太多的内存资源。为了这么做,可以使用read()函数(而不是readline()函数),它可以让我们指定我们想要的缓冲大小。尝试下面的程序。

inputFile = open (‘myfile.txt’, ‘r’)
outputFile = open (‘myoutputfile.txt’,‘w’)

msg = inputFile.read(10)

while len(msg):
outputFile.write(msg)
msg = inputFile.read(10)

inputFile.close()
outputFile.close()

首先,我们打开两个文件,inputFile.txt和outputFile.txt文件分别用于读取和写入。

接下来,我们使用语句msg=inputFile.read(10)和一个while循环一次从文件中循环10位。括号中的值10告诉read0函数仅仅读取10位的数据。while条件while len(msg):检查变量msg的长度。只要它的长度不为0,循环就会继续。

在while循环内部,语句outputFile.write(msq)把信息写入输出文件中。在写入信息后,语句msg=inputFile.read(10)将会读入下10位的数据,并会一直这么做,直到读取完整个文件。读完文件,程序就把两个文件都关闭了。

当你运行程序时,一个新的文件myoutputfile.txt将会被创建。打开文件时,你将会注意到它和输入文件myfile.txt的内容是一样的。为了证明每次仅读取10位的数据,你可以把程序中的outputFile.write(msg)这一行修改为outputFile.write(msg+‘\n’)。再次运行程序。现在myoutputfile.txt中的每行将最多包含10个字符。下面的这段将会是你得到的输出。
Learn Pyth
on in One
pay and Le
arn It Wel

8.5 打开、读取并写入二进制文件

二进制文件表示的是任何包含非文字的文件,比如图像或者视频文件。为了处理二进制文件,我们可以使用rb或者wb模式。把一个jpeg文件复制到你的桌面上,并把它重命名为myimage.jpg。现在编辑上面的程序,把程序的前两行:

inputFile = open (‘myfile.txt’, ‘r’)
outputFile = open (‘myoutputfile.txt’,‘w’)
改为:
inputFile = open (‘myimage.jpg’,‘rb’)
outputFile = open (‘myoutputimage.jpg’,
‘wb’)

确保你也把语句outputFile.write(msg+‘\n’)修改为outputFile.write(msg)。

运行新的程序。你应该会在桌面上得到一个新的叫作myoutputimage.jpg的图片文件。当你打开这个图片文件时,它看起来应该和myimage.jpg是一模一样的。

8.6 删除和重命名文件

在处理文件时,我们需要学习的另外两个有用的函数是remove()和rename()。 这两个函数在os模块里面,在使用它们之前,我们需要在程序中引入它们。

remove()函数会删除一个文件。语法是remove(filename)。比如,为了删除myfile.txt,我们可以这么写remove(‘myfile.txt’)。

rename()函数会重命名一个文件。语法是rename(old name, new name)。 为了把oldfile.txt重命名为newfile.txt,我们可以这么写rename(‘oldfile.txt’, ‘newfile.txt’)。
在这里插入图片描述

Python入门实战:从环境配置到自动化文件整理脚本 Python是一种面向实际问题解决的通用编程语言,其核心价值在于将语法知识快速转化为生产力工具。理解解释器、pip包管理、虚拟环境和pathlib路径操作等基础原理,是构建稳定开发环境的技术前提;掌握文件系统遍历、条件分类与shutil移动等能力,则直接支撑日常办公自动化。这种‘任务驱动+即时反馈’的学习路径,显著区别于传统语法灌输,特别适合财务、运营、教师等非专业开发者快速上手。本文聚焦真实场景中的首个可运行脚本——下载文件夹智能归类器,覆盖Windows/macOS/Linux全平台配置、双击执行封装及 阅读详情

相关推荐

树莓派4B:控制步进电机

文章目录准备阶段接线阶段树莓派程序 准备阶段 准备以下物品,淘宝都可以买到: 57步进电机 电源开关(220v转24v,3A,72W) 步进电机驱动器 电源线 电线 杜邦线 树莓派4B一套 具体型号如下: 接线阶段 整体:接线效果如下图 电源开关起220v转24v作用,很好接线,输出24v接入步进电机驱动器 步进电机驱动器的 A+ A- B+ B- 按提示接步进电机四线,步进电机上就会有说...

学习路上的鸭子的博客 1万+

每天10分钟,带你一周精通Python:第2章 为Python做好准备

在开始编写第一个Python程序之前,我们需要下载与我们所用计算机对应的合适的。我们在本书中使用Python 3,因为在Python的官方网站上写着**“Python 2x是历史,Python3.x是这门语言的现在和未来”。“Python 3 消除了很多不必要的、会困住初级编程人员的荆棘”。**然而,当前Python2依旧被广泛地使用着。Python2和3大约90%的地方都很相似。因此如果学习了Python3,理解Python2编写的代码也就毫无困难。

andyyah晓波的博客 745

RK3588部署Zipformer模型问题总结

本文分享了在RK3588嵌入式设备上部署小米Zipformer语音识别模型时遇到的问题及解决方法。主要遇到两个问题:1)在rknn_model_zoo例程编译时出现静态库版本不兼容,通过重新编译kaldi-native-fbank库并修改链接路径解决;2)sherpa-onnx编译时提示缺少portaudio库,通过修改编译脚本启用相关宏定义后成功编译。最终成功在RK3588上运行Zipformer模型,测试结果显示该模型具有较好的识别效果和实时性(RTF=0.22),验证了其在边缘设备上的适用性。

pkyang2004的博客 2148

看我是如何用Python实现办公自动化的 从每日工作8小时到8分钟

谁说学了编程就一定要当程序员?自我介绍一下,我既不是程序员,大学学的也不是IT专业。我的工作内容主要就是制作汇报各种统计报表、数据图等。我身边的同事每天至少花3.5~4小时去做Excel,使用数据透视图、vlookup等各类函数去做出一份内含3000多个数据的日报。umm… 如果领导临时安排什么工作的话,那就要加班从浩如烟海的数据里找领导要的东西了。 首次接到任务的我 我们有一个巨大的,达70多M的Excel文件,每次公司配发的破电脑打开就需要小二十分钟,里面存着我们近十年的采购的每一车的详细信息,重点是里

Java_bx的博客 1481

Wezterm的安装和简单配置

希望 wezterm 的主题配色,保持和 powershell 默认配色一致,也就是 Compell 主题。目的是在频繁使用 wezterm 时,原本的根据颜色判断文件信息(尤其是WSL里的Linux下,文件和目录颜色)依然可以使用。wezterm 默认用 cmd.exe, 我是 win11,希望默认用 powershell。

baiyu33的博客 4273

HDI盲埋孔设计规范:高速PCB信号完整性落地指南

盲埋孔是高密度互连(HDI)PCB实现高速信号完整性的关键技术,其本质是通过控制过孔stub长度、优化回流路径和提升布线密度,解决GHz级信号在传统通孔结构下出现的谐振、串扰与EMI超标问题。其设计核心在于叠层物理约束、电气参数建模与工艺能力协同,涉及stub长度计算、反焊盘尺寸推导、孔壁粗糙度Rz控制等关键指标。广泛应用于DDR4、PCIe Gen4、USB3.2等高速接口的PCB设计中,尤其在车载ADAS、5G基站及FPGA载板等对SI/PI要求严苛的场景中成为刚性门槛。

weixin_34416754的博客 437

Python零基础入门:避开常见误区,5分钟上手实战编程

编程语言作为人机交互的核心工具,其本质是将人类逻辑转化为计算机可执行的指令。Python凭借简洁的语法和丰富的生态,成为初学者入门编程的理想选择。理解变量、函数、控制流等基础概念,是掌握编程原理的关键。这些技术价值在于能够自动化处理重复任务,提升工作效率,广泛应用于数据分析、网络爬虫、自动化办公等场景。本文针对新手常见的学习痛点,如环境配置复杂、语法记忆孤立等,提供了一条最小阻力路径,通过场景驱动的微任务和即时反馈练习,帮助读者快速建立Python编程直觉,并完成批量文件重命名等实用项目,实现从理论到实践的

weixin_33912453的博客 930

用Python实现图片风格迁移,让你的图片更加的高逼格!

先来看下效果: 上图是老王在甘南合作的米拉日巴佛阁外面拍下的一张照片,采用风格迁移技术后的效果为: 一些其它效果图: 下面进入正题。 近年来,由深度学习所引领的人工智能(AI)技术浪潮,开始越来越广泛地应用到生活各个领域。这其中,人工智能与艺术的交叉碰撞,在相关技术领域和艺术领域引起了高度关注。就在上个月,由电脑生成的艺术品在佳士得(Christie’s)的拍卖价竟高达43.25万美元,...

Python追梦 6184

10分钟精通Upscayl批处理:从单张到千张图像的高效放大实战指南

你是否还在为处理大量低分辨率图片而头疼?面对成百上千张需要放大的图像,手动操作不仅耗时费力,还容易因参数不一致导致输出质量参差不齐。Upscayl的批处理功能正是为你解决这一痛点的利器,它能将AI图像放大效率提升10倍以上,让你从繁琐的重复操作中解放出来。 ## 🔍 批处理核心机制深度解析 Upscayl的批处理功能基于[electron/commands/batch-upscayl.ts]

gitblog_00606的博客 463

从零开始:小鼠Bulk RNA-seq全流程实战指南

本文提供了一份详尽的小鼠Bulk RNA-seq全流程实战指南,涵盖从软件环境搭建、原始数据质控与清洗、序列比对、基因定量到下游差异表达分析与功能富集。内容面向生物信息学新手,通过清晰的代码示例和步骤解析,帮助读者系统掌握Bulk RNA-seq数据分析的核心技能,并产出可靠的生物学洞见。

lake5的博客 717

大学计算 - 方程求解 实训答案 第3关

【代码】大学计算 - 方程求解 实训答案 第3关。

2403_89314916的博客 107

Python学习路径规划:从入门到精通的三大经典书籍指南

在编程学习过程中,选择合适的教材是构建扎实知识体系的关键一步。Python作为一门语法简洁、应用广泛的高级编程语言,其学习路径通常遵循从基础语法掌握到高级特性理解,再到工程实践应用的递进逻辑。理解Python的核心设计哲学和数据结构原理,能够帮助开发者编写出更高效、更优雅的代码,这是提升技术价值的重要体现。在实际应用场景中,无论是数据分析、Web开发还是自动化脚本,都需要将语言特性与具体问题解决方案相结合。本文围绕Python学习这一核心主题,结合**学习路径**和**实战项目**两个关键维度,系统分析了三

weixin_30294295的博客 327

BME688传感器原理图设计,已量产(环境传感器)

在便携式空气质量监测、可穿戴健康设备这类低功耗场景中,BME688 这类集成了 VOC、温湿度、气压的四合一 MEMS 传感器越来越受欢迎 —— 它体积小、功耗低,刚好匹配便携设备的需求。但这类小信号传感器对电源噪声、电平匹配的要求很细,今天结合实际项目里的一款 BME688 接口电路,聊聊硬件设计的关键细节。

不脱发的程序猿 516

Python入门教程:从零基础到精通的终极指南(2024最新版)

作为一个从土木工程转行编程的老司机(是的,我27岁才接触代码!),Python绝对是我见过最友好的编程语言!它就像编程界的"瑞士军刀"——数据分析、网站开发、人工智能通吃!还记得我第一次用10行代码搞定Excel重复劳动时的震撼吗?💥缩进问题:混用空格和Tab会报错!建议设置编辑器自动转换模块导入:找不到模块?先pip install 包名安装中文乱码:在文件开头加版本兼容:Python2和3语法差异大,新手请死磕3.x版本路径问题:建议使用pathlib库处理文件路径每天写代码(哪怕10分钟)

binbinaijishu88的博客 878

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

RVC变声器完整教程:10分钟语音如何训练出可用的AI音色模型

# RVC变声器完整教程:10分钟语音如何训练出可用的AI音色模型 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)是一个基于 VITS 架构的开源 AI 变声框架:用 10 分钟语音素材就能训练出音色模型,再把任意音频转换成目标音色。本文带你从环境搭建、训练、推理到排错走完一遍,不需要深度学习背景。 ## 一、先说结论:它值不值得你花时间 用「适

gitblog_00053的博客 482

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

python自动化办公都能做什么-用 Python 自动化办公能做到哪些有趣或有用的事情?...

先说结论:用每天不到二十分钟的工作量取缔了四到五名同事全天的工作,并顺带着优化了整个部门的数据结构。目前我已经成为整个项目组甚至全部门最核心的数据运营角色。可以说部门离开了我编写的程序几乎无法正常运行下去,而且经过长时间的积累增删,我写的程序越来越复杂并且多套程序之间又有极强的关联性,除了我之外没有人可以驾驭。每天用5分钟的时间运行母程序,一天的工作搞定!因此我也成了整个部门无可替代的角色,有足够...

q6q6q的专栏 356

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

5分钟搞定yfinance数据导出:从零到精通的完整指南

还在为金融数据导出格式不兼容、操作复杂而烦恼吗?作为金融数据分析师,小明每天需要为团队准备多只股票的收盘价报表,手动下载整理耗时又易错。直到他发现yfinance这个神器,用几行代码就解决了所有问题!本文将带你快速掌握yfinance的多种数据导出技巧,从基础操作到生产部署,让你轻松应对各种数据导出需求。 ## 🎯 问题场景:金融数据导出的三大痛点 ### 场景一:手动下载的烦恼 "每次都要

gitblog_00682的博客 1160

5分钟精通StarRailAssistant:解放双手的星穹铁道智能管家终极方案

每天在《崩坏:星穹铁道》中重复着同样的日常任务,你是否感到疲惫?从委托任务到地图探索,从遗器搭配到模拟宇宙,这些重复性操作占据了大量宝贵时间。StarRailAssistant作为一款基于Python开发的自动化工具,正能解决这一痛点,让你重新享受游戏的核心乐趣。 ## 重新定义游戏体验:从手动操作到智能托管 想象一下这样的场景:清晨醒来,你的角色已经完成了所有日常委托;周末空闲时,地图资源已

gitblog_00083的博客 84

AALC终极使用指南:5分钟从新手到精通

AhabAssistantLimbusCompany(AALC)是一款专为PC平台《Limbus Company》游戏设计的智能辅助工具。本文将从零开始,带你快速掌握这款工具的核心用法,让游戏日常任务从此变得轻松高效。 ## 项目初识:为什么你需要AALC 《Limbus Company》作为一款策略RPG,日常任务占据了玩家大量时间。据用户反馈,平均每天需要花费45-60分钟在重复性操作上,

gitblog_00099的博客 5135

Python定时任务实战:APScheduler从入门到精通

生产环境必备配置启用任务持久化(数据库存储)设置合理的添加全面的异常处理记录详细的执行日志开发阶段建议使用BlockingScheduler快速验证通过方法调试任务先在测试环境验证Cron表达式典型应用场景数据库备份(每天凌晨执行)数据同步(每5分钟一次)报表生成(每周一9点)缓存清理(每小时执行)通知发送(生日提醒等)APScheduler就像一个智能的闹钟系统,它不仅能准时提醒,还能根据复杂规则灵活调整。

这家伙很懒,什么都没有留下 1354

AI全栈实战 | 3.9-01 爬虫入门:requests 加 BeautifulSoup 三分钟跑通,但 90% 的人栽在这 4 个“礼貌“问题上

⚠️:本文内容仅用于。请遵守目标站点的服务条款与相关法律法规,不得对目标服务造成负担,不得采集、传播个人隐私数据。技术是中性的,边界在你手里。爬虫的入门技术(requests 发请求 + BeautifulSoup 解析)三分钟就能学会。真正区分"会用爬虫"和"会做爬虫的人"的,是这篇我们跑通"请求→解析→存储"的最小闭环,然后重点把"合规与礼貌"这根弦给你绷上。

源码获取 | 运行部署 | 定制二开修改,如果回复不及时请耐心等待,请见谅。 422
上一篇: 每天10分钟,带你一周精通Python:第7章函数和模块
下一篇: 每天10分钟,带你一周精通Python:第9章数学和BODMAS计算法则
andyyah晓波
博客等级 码龄7年 3368粉丝 454原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值