Python小练习1:.txt文件常用读写操作

.txt文件常用读写操作


     本文通过一个实例来介绍读写txt文件的各种常用操作,问题修改自coursera上南京大学的课程:用Python玩转数据。

     直接进入正题,考虑下面为练习读写txt文件的各种操作而设计的一个具体问题

     问题如下:

     (1) 在任意位置创建一个.py文件,如'D:/编程练习/python练习/Week2_02.py'

     (2) 在D盘下创建一个文件Blowing in the wind.txt,即‘D:\Blowing in the wind.txt’

     其内容是:

How many roads must a man walk down

Before they call him a man

How many seas must a white dove sail

Before she sleeps in the sand

How many times must the cannon balls fly

Before they're forever banned

The answer my friend is blowing in the wind

The answer is blowing in the wind

     (3) 在文件头部插入歌名“Blowin’ in the wind”

     (4) 在歌名后插入歌手名“Bob Dylan”

     (5) 在文件末尾加上字符串“1962 by Warner Bros. Inc.”

     (6) 在屏幕上打印文件内容,最好加上自己的设计

     (7) 以上每一个要求均作为一个独立的步骤进行,即每次都重新打开并操作文件

--------------------------------------------------------------------------------------------------------------------

     程序代码如下:

import os
#Python的os模块提供了执行文件和目录处理操作的函数,例如重命名和删除文件。
os.chdir('D:\\') #更改目录 #-------------------------------------------------------------------------
#创建一个文件,将歌词写入
f1=open(r'Blowing in the wind.txt','w')
f1.write('How many roads must a man walk down \n')
f1.write('Before they call him a man \n')
f1.write('How many seas must a white dove sail \n')
f1.write('Before she sleeps in the sand \n')
f1.write('How many times must the cannon balls fly \n')
f1.write('Before they\'re forever banned \n')
f1.write('The answer my friend is blowing in the wind \n')
f1.write('The answer is blowing in the wind\n')
f1.close()#文件使用后记得关闭#--------------------------------------------------------------------------
#在文件头部插入歌曲名
f2=open(r'Blowing in the wind.txt','r+')#mode参数不能用'w+',这会清空原内容
lyrics =f2.readlines()
lyrics.insert(0,'Blowin\'in the wind\n')#在第一行添加歌曲名
f2.seek(0,0)#将文件指针移动到文件开头处
f2.writelines(lyrics)
f2.close()#这是一种错误的写法,将歌词的第一行抹去了一部分
#f2=open(r'Blowing in the wind.txt','r+')
#f2.seek(0,0)#将文件指针移动到文件开头处
#f2.write('Blowin’ in the wind\n')
#f2.close()#--------------------------------------------------------------------------
#在歌名后插入歌手名(实现同上一步)
f3=open(r'Blowing in the wind.txt','r+')#mode参数不能用'w+',这会清空原内容
lyrics =f3.readlines()
lyrics.insert(1,'——Bob Dylan\n')#在第一行添加歌手名
f3.seek(0,0)#将文件指针移动到文件开头处
f3.writelines(lyrics)
f3.close()#--------------------------------------------------------------------------
#在文件末尾加上字符串“1962 by Warner Bros. Inc.” 
f4=open(r'Blowing in the wind.txt','a')#mode参数选择'a',代表追加模式.
f4.write('1962 by Warner Bros. Inc.')#追加模式下,可以直接向文件末尾write内容
f4.close()#--------------------------------------------------------------------------
#在屏幕上打印文件内容(最好加一些自己的格式设计)
f5=open(r'Blowing in the wind.txt','r')
article =f5.readlines()#读取文件内容
#按照自己的方式显示
for i in range(0,len(article)):if 1<i<len(article)-1:print('\t'+article[i])else:print('\t\t'+article[i])
f5.close()

     运行后.txt文件中的内容为:

     屏幕上的输出为:


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32F103使用内部Flash保存参数

&#xfeff;&#xfeff; 在我们应用开发时&#xff0c;经常会有一些程序运行参数需要保存&#xff0c;如一些修正系数。这些数据的特点是&#xff1a;数量少而且不需要经常修改&#xff0c;但又不能定义为常量&#xff0c;因为每台设备可能不一样而且在以后还有修改的可能。…

FreeRTOS学习及移植笔记之一:开始FreeRTOS之旅

&#xfeff;&#xfeff; 1、必要的准备工作 工欲善其事&#xff0c;必先利其器&#xff0c;在开始学习和移植之前&#xff0c;相应的准备工作必不可少。所以在开始我们写要准备如下: 测试环境&#xff1a;我准备在STM32F103平台上移植和测试FreeRTOS系统 准备FreeRTOS系统…

FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS

&#xfeff;&#xfeff;上一次&#xff0c;我们简单的测试了FreeRTOS的基于IAR EWARMv6.4和STM32F103VET6平台的Demo&#xff0c;对其有了一个基本认识。接下来我们开始自己移植FreeRTOS的过程。 1、创建一个“FreeRTOSTestProject”项目文件夹&#xff0c;并在其下创建FreeR…

如何创建一个最简单的Windows桌面应用程序 (C++)

如何创建一个最简单的Windows桌面应用程序 (C) 最近刚开始学习C/C开发Windows应用程序&#xff0c;这里将会以零基础的视角把学习过程完全记录下来。如果你也刚刚起步&#xff0c;那本文一定非常适合你。 进入正题&#xff0c;本文讨论如何使用Visual Studio生成一个最简单的C窗…

Win32窗体应用程序如何添加资源文件?

Win32窗体应用程序如何添加资源文件&#xff1f; 上一篇文章介绍了&#xff1a;如何创建一个最简单的Windows窗体应用程序。 按照上一篇文章的介绍&#xff0c;我们的HelloApp项目对应如下的窗体应用程序&#xff1a; 这一篇文章中&#xff0c;我们将在这个程序的基础上&#x…

【论文党福利】如何提取图像中的数据

【论文党福利】如何提取图像中的数据 从事科研的老师和同学们在撰写论文时&#xff0c;经常需要将文献中的曲线与自己的结果进行对比&#xff0c;为获取原始数据&#xff0c;最靠谱的方法当然是找原作者要。如果没有要到呢&#xff1f;本文将成为论文党的福利&#xff0c;为你…

添加串口和虚拟终端输出帮助调试

&#xfeff;&#xfeff;在使用IAR开发STM32项目时&#xff0c;使用串口或者是虚拟终端来输出我们想看的信息是一个非常好而且简便的方式。 首先来看看串口怎么实现信息输出。简单来说串口输出信息就是将标准输出重定向到串口&#xff0c;在上位机的超级终端或者串口助手等工…

1.1股票数据预处理练习

第一阶段、一个简单策略入门量化投资 1.1股票数据预处理练习 无论我们要对股票市场进行何种探索&#xff0c;在开始前&#xff0c;研究如何获取数据&#xff0c;并进行对应的预处理都是必要的。 本节以美股为例&#xff0c;进行股票数据预处理的练习。正文如下&#xff1a; …

1-2 移动均线交叉策略1

第一阶段、一个简单策略入门量化投资 1-2 移动均线交叉策略1 第一阶段一个简单策略入门量化投资1-2 移动均线交叉策略1前言获取数据移动均线交叉策略数据可视化绘制折线图绘制K线图绘制移动均线 移动均线交叉策略回测什么是回测回溯买卖信号计算收益 未完待续完整代码 前言 …

STM32F412应用开发笔记之一:初识NUCLEO-F412ZG

&#xfeff;&#xfeff;今天终于收到了期待已久的NUCLEO-F412ZG&#xff0c;感谢电子发烧友论坛&#xff01; 近几年来基本都是在STM32平台上做一些设计开发工作。STM32F103、STM32F107、STM32F429等都应用过&#xff0c;但却从没有申请过试用。没想到这次申请居然能被选中&a…

STM32F412应用开发笔记之二:基本GPIO控制

&#xfeff;&#xfeff;NUCLEO-F412ZG板子上的元器件并没有完全焊接&#xff0c;除去ST-LINK部分和电源部分后&#xff0c;还有用一个USB主机接口&#xff0c;三个LED灯和两个按钮&#xff0c;不过很多功能引脚都已经引到了插针。查看原理图可发现&#xff0c;由原理图模块的…

1-3移动均线交叉策略2

第一阶段、一个简单策略入门量化投资 1-3移动均线交叉策略2 上一篇文章1-2 移动均线交叉策略1中我们最后提到&#xff1a; 如果我们从第一天买入股票&#xff0c;一直持有股票&#xff0c;最后一天卖出&#xff0c;获得的收益是每股124.02美元&#xff0c;收益率为412% 如果…

1-4移动均线交叉策略3

第一阶段、一个简单策略入门量化投资 1-4移动均线交叉策略3 上一文1-3移动均线交叉策略2中&#xff0c;我们得到的结果是令人失望的。但我们的探索还要继续。 我们知道&#xff0c;使用投资组合的方式进行分散投资是降低风险的好办法。尽管移动均线交叉策略的表现并不理想&a…

STM32学习及应用笔记一:SysTick定时器学习及应用

&#xfeff;&#xfeff; 这几年一直使用STM32的MCU&#xff0c;对ARM内核的SysTick计时器也经常使用&#xff0c;但几乎没有仔细了解过。最近正好要在移植一个新的操作系统时接触到了这块&#xff0c;据比较深入的了解了一下。 1、SysTick究竟是什么&#xff1f; 关于SysT…

使用Atom快速打造好用的Markdown编辑器

使用Atom快速打造好用的Markdown编辑器 Atom当前主流的跨平台的三大编辑器(Atom,sublime,vscode)之一 今天尝试了使用Atom来打造Markdown编辑器&#xff0c;快速上手且易用&#xff0c;墙裂推荐&#xff01; 下面直接进入正题&#xff0c;一步步介绍如何使用Atom快速打造好用…

PID控制器开发笔记之一:PID算法原理及基本实现

&#xfeff;&#xfeff; 在自动控制中&#xff0c;PID及其衍生出来的算法是应用最广的算法之一。各个做自动控制的厂家基本都有会实现这一经典算法。我们在做项目的过程中&#xff0c;也时常会遇到类似的需求&#xff0c;所以就想实现这一算法以适用于更多的应用场景。…

十分钟能学会的简单python爬虫

简单爬虫三步走&#xff0c;So easy~ 本文介绍一个使用python实现爬虫的超简单方法&#xff0c;精通爬虫挺难&#xff0c;但学会实现一个能满足简单需求的爬虫&#xff0c;只需10分钟&#xff0c;往下读吧~ 该方法不能用于带有反爬机制的页面&#xff0c;但对于我这样的非专业…

PID控制器开发笔记之二:积分分离PID控制器的实现

前面的文章中&#xff0c;我们已经讲述了PID控制器的实现&#xff0c;包括位置型PID控制器和增量型PID控制器。但这个实现只是最基本的实现&#xff0c;并没有考虑任何的干扰情况。在本节及后续的一些章节&#xff0c;我们就来讨论一下经典PID控制器的优化与改进。这一节我们首…

利用python实现短信和电话提醒功能

有时候&#xff0c;我们需要程序帮我们自动检测某些事件的发生 这个需求是广泛存在的 因此&#xff0c;这里整理了利用python实现短信和电话提醒功能的方法 主要需要完成以下4个步骤&#xff1a; - 安装核心库&#xff1a;twilio - 注册账号及配置 - 发送短信示例 - 电话…

PID控制器开发笔记之三:抗积分饱和PID控制器的实现

积分作用的引入是为了消除系统的静差&#xff0c;提高控制精度。但是如果一个系统总是存在统一个方向的偏差&#xff0c;就可能无限累加而进而饱和&#xff0c;极大影响系统性能。抗积分饱和就是用以解决这一问题的方法之一。这一节我们就来实现抗积分饱和的PID算法。 1、抗积…