Python学习入门基础教程(learning Python)--5.3 Python写文件基础
前边我们学习了一下Python下如何读取一个文件的基本操作,学会了read和readline两个函数,本节我们学习一下Python下写文件的基本操作方法。
这里仍然是举例来说明如何写文件。例子的功能是往当前目录下的b.txt文件里写入两个字符串。
程序代码如下:
wfile = open("b.txt", 'w')
wfile.write("hello ")
wfile.write("www.jeapedu.com\n")
wfile.close()
代码第1行是以写的方式打开当前目录下的b.txt这个文件,第2~3行分别写入hello 和 www.jeapedu.com这两个字符串到b.txt文件里,代码第4行是关闭文件。细心的读者会发现,代码第2行和第3行write里的参数不太一样,第3行代码出现了'\n',而第2行的代码里没有'\n',这里再第3行里加上'\n'的作用是以后方便readline一行行的读,或者说写入的着两个字符串在b.txt文件里是在同一行的。
wfile = open("b.txt", 'w')
wfile.write("hello ")
wfile.write("www.jeapedu.com\n")
wfile.close()
wfile = open("b.txt", 'r')
word = wfile.readline()
print word
wfile.close()
代码第1~4行是先以写的方式打开b.txt写入两个字符串,关闭文件,代码第5~8行则是再以读的方式打开b.txt文件,读一行并输出,之后再次关闭文件b.txt。
好了,至此我们已经学会如何打开文件并写文件了,现在想提个小问题.。如果文件里本身有内容,每次在写入新数据时旧的数据能保留下来么?通过上边的例子演示可以看出,每次写入新数据时,前边的数据都不会被保留下来,真可怕!如果我就是想在旧文件里增加新数据那该怎么办?
这里我们现看看实现代码
wfile = open("b.txt", 'a')
wfile.write("hello ")
wfile.write("www.jeapedu.com\n")
wfile.close()
wfile = open("b.txt", 'r')
word = wfile.readline()
print word
wfile.close()
和上边的程序唯一的区别是代码的第1行open函数的第2个参数(文件打开模式字)变成了'a',那模式字a在这的作用是如果打开文件里有数据,那么新写入的数据写在打开文件的尾部,即可实现数据的增加操作。
我们来解释一下上面的图,
第一次cat b.txt是打印当前目录下的b.txt文件里的内容到屏幕,b.txt里已有一行文字,第一次运行Python wfile.py文件,写入两个字符串,并输出一行b.txt内容。
第二次cat b.txt是打印当前目录下的b.txt文件里的内容到屏幕,b.txt里有两行文字(因为第一次运行时写入了两个字符串),第二次运行Python wfile.py文件,又写入两个字符串,输出一行b.txt内容。
第三次cat b.txt是打印当前目录下的b.txt文件里的内容到屏幕,b.txt里已有三行文字(因为第二次运行时写入了两个字符串),第三次运行Python wfile.py文件,又写入两个字符串,输出一行b.txt内容。
由此可见每次写的数据都增加在文件的最后,实现了对旧数据的保留,又增加了新数据。
----
Python学习入门基础教程(learning Python)--5.3 Python写文件基础的更多相关文章
- Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...
- (Python基础教程之十二)Python读写CSV文件
Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...
- python从入门到精通之30天快速学python视频教程
点击了解更多Python课程>>> python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv pyth ...
- python从入门到大神---2、和Python编程相遇的日子
python从入门到大神---2.和Python编程相遇的日子 一.总结 一句话总结: python2和python3是很不同的,连语法都不同,比如 print 函数打印结果 1.python中pip ...
- 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...
- Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...
- [转]Python学习资料和教程pdf
开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...
- 多本Python极速入门最佳书籍,不可错过的Python学习资料!
Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内. ...
- Python基础教程3——教你用Python做个简单的加密程序(还基础什么呀,直接来练习吧,带源码)
因为发现基础教程我之前推荐的那个网站就已经很完善了,就不重复写了,所以本汪来一起做练习吧. 一.加密原理 记得当时我学c++的时候,学到输入输出流的时候,当时王老师就教我们写了一个小的加密程序,所以这 ...
随机推荐
- UVA 11292 - The Dragon of Loowater (water)
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=sh ...
- COCOS2D-X之圆形进度条的一个简单Demo
这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添 ...
- Swift - 给图片添加文字水印(图片上写文字,并可设置位置和样式)
想要给图片添加文字水印或者注释,我们需要实现在UIImage上写字的功能. 1,效果图如下: (在图片左上角和右下角都添加了文字.) 2,为方便使用,我们通过扩展UIImage类来实现添加水印功能 ( ...
- android布局margin和padding差异!
事实上从使用的时候就能够差别开来. android:padding android:layout_margin padding是在本控件级别的,而margin是在layout级别的. 最好拿有背景的控 ...
- 核心游记之 page_address_init
lock_kernel()仅仅虚晃一枪就过去了. 紧接着来的是page_address_init include/linux/mm.h #if defined(CONFIG_HIGHMEM) &a ...
- 微软推荐的130道ASP.NET常见面试题及答案
1. 简述 private. protected. public. internal 修饰符的访问权限. 答 . private : 私有成员, 在类的内部才可以访问. protected : 保护成 ...
- UML之九图概述
最近看了UML的九种图的讲解,这九种图在我们以后的学习中起着举足轻重的作用,不管是在写文档,还是在对系统的需求.设计进行分析时,都很重要,所以首先做一下概述,希望能和大家分享. 首先和大家展示一下我对 ...
- appium 真机测试问题 出现 instruments crashed on startup
1.appium 真机测试的时候 instruments crashed on startup,必须在真机上打开UI Automation 在设置里: Developer->Enable UI ...
- TObject简要说明-对象的创建流程
TObject = class //创建 constructor Create; //释放 procedure Free; //初始化实列 class functi ...
- response.sendRedirect 传递参数的问题
response.sendRedirect是通过浏览器来做转向的. 假设在A.jsp页面设置request.setAttribute("username","admin& ...