前边我们学习了一下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写文件基础的更多相关文章

  1. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  2. (Python基础教程之十二)Python读写CSV文件

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  3. python从入门到精通之30天快速学python视频教程

    点击了解更多Python课程>>> python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv pyth ...

  4. python从入门到大神---2、和Python编程相遇的日子

    python从入门到大神---2.和Python编程相遇的日子 一.总结 一句话总结: python2和python3是很不同的,连语法都不同,比如 print 函数打印结果 1.python中pip ...

  5. 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...

  6. Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程

    Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...

  7. [转]Python学习资料和教程pdf

    开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...

  8. 多本Python极速入门最佳书籍,不可错过的Python学习资料!

    Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内.   ...

  9. Python基础教程3——教你用Python做个简单的加密程序(还基础什么呀,直接来练习吧,带源码)

    因为发现基础教程我之前推荐的那个网站就已经很完善了,就不重复写了,所以本汪来一起做练习吧. 一.加密原理 记得当时我学c++的时候,学到输入输出流的时候,当时王老师就教我们写了一个小的加密程序,所以这 ...

随机推荐

  1. 深入理解mysql之BDB系列(1)---BDB相关基础知识

        深入理解mysql之BDB系列(1) ---BDB相关基础知识 作者:杨万富   一:BDB体系结构 1.1.BDB体系结构 BDB总体的体系结构如图1.1所看到的,包括五个子系统(见图1.1 ...

  2. 【j2ee】div浮动层拖拽

    背景:近期项目中需要实现弹出浮层增加数据,并且浮动层可以拖拽 解决步骤:1.浮动层实现  2.拖拽实现 多方查资料,基本实现功能,现做demo,便于以后使用 先上图片大体展示实现效果: 再上代码,展示 ...

  3. javascript笔记整理(概述,变量,数据类型)

    A.概述 1.输出工具: document.write()---可以是html alert()---字符串 prompt(text,defaultText) text---可选.要在对话框中显示的纯文 ...

  4. 不用SWIG,Go使用C++代码的方式

    将C++代码用C作一次封装,就可以让Go调用了. 这是一个C++头文件: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #ifndef CGO_CPPGO_C ...

  5. Vistual Studio 2012更换皮肤

    早就装上VS2012了,可是除了在家里练习玩玩的时候使用外,在公司都还在用2010,也没好好研究过2012.这两天把公司的电脑换了系统,也就把vs换成了2012.可是看着不是白白的皮肤就是深色的皮肤, ...

  6. 多文件上传组件FineUploader使用心得

    原文 多文件上传组件FineUploader使用心得 做Web开发的童鞋都知道,需要经常从客户端上传文件到服务端,当然,你可以使用<input type="file"/> ...

  7. 二维码闪电登录流程详解,附demo(2/2)

    上篇文章,我们重点介绍了一下二维码登录的流程,以及每个“角色”要做的事情,下面我们重点分析TV角色所做的工作. TV主要完成二维码图片显示,以及websocket请求.下面重点说一下这两点. 1. B ...

  8. HDU1257 最小拦截系统 【贪婪】

    最小拦截系统 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  9. Visual Studio 必备神器---转

    会使用工具是人类文明的一大进步,今天敏捷大行其道,好的工具可以大大的提高生产力,这里说的工具都是VS平台上的扩展工具,一些机械的部分可以交给工具去处理,自己多关注其他部分.下面分享下我觉得不错的工具, ...

  10. 9、Cocos2dx 3.0游戏开发三查找值小工厂方法模式和对象

    重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27704153 工厂方法模式 工厂方法是程序设计中一个 ...