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++的时候,学到输入输出流的时候,当时王老师就教我们写了一个小的加密程序,所以这 ...
随机推荐
- ubuntu安装Java jdk1.7.0
1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 2.解压 3. ...
- HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)
HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others) Memory Limit: ...
- ASP.NET - 用户控件制作
首先添加用户控件: 在里面写上代码: <%@ Control Language="C#" AutoEventWireup="true" CodeBehin ...
- 浅谈BFC与应用
什么是BFC BFC(Block formatting context)的中文翻译我们一般叫做块级格式化上下文.它是一个独立渲染的区域,规定了内部如何布局,同时不受外界的影响.我们的根元素本身就是一个 ...
- 基于visual Studio2013解决面试题之0603调整数组
题目
- BMP文件结构
1. 位图文件头 位图文件头包含有关于文件类型.文件大小.存放位置等信息,在Windows 3.0以上版本的位图文件中用BITMAPFILEHEADER结构来定义: typedef struct ta ...
- 关于Opengl中将24位BMP图片加入一个alpha通道并实现透明的问题
#include <windows.h>#include <GL/glut.h>#include <GL/glaux.h>#include <stdio.h& ...
- UIGestureRecognizer在多层视图中的触发问题
在一个superview中,添加了一个subview.tap一下superview,将subview隐藏起来. 在视图superview添加一个UITapGestureRecognizer对象,在UI ...
- IOS UITableView单条刷新,数据不刷新解决方案
在使用 UITableView 进行某设置页面的设计时,由于设计页面有固定的section个数和row个数,而数据又需要根据用户的修改情况进行改变,所以我们往往不会为每个cell单独写一个类,而是直接 ...
- 新建表维护程序SM30
1.先新建一个客制表 2.创建一个函数组 3.SE11中该表->实用程序->表维护生成器->权限组填写&NC& -> 函数组填写刚才创建的函数组->维护 ...