博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习入门基础教程(learning Python)--5.3 Python写文件基础
阅读量:6688 次
发布时间:2019-06-25

本文共 1461 字,大约阅读时间需要 4 分钟。

         前边我们学习了一下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 wordwfile.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 wordwfile.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内容。

     由此可见每次写的数据都增加在文件的最后,实现了对旧数据的保留,又增加了新数据。

----

 

你可能感兴趣的文章
js中的super小结
查看>>
ios显示或隐藏导航栏的底线
查看>>
包含 min 函数的栈
查看>>
rm -f /var/lib/rpm/__db*;rpm --rebuilddb
查看>>
iOS进公司后可能用到的开源库和第三方组件
查看>>
一篇文章,带你了解gulp
查看>>
前端基础知识复习之CSS
查看>>
命令模式与它在源码中的运用
查看>>
再和“面向对象”谈恋爱—面向对象编程概念
查看>>
jquery datatable + backbone 的重构。
查看>>
原型模式与深浅拷贝
查看>>
数据库之互联网常用分库分表方案
查看>>
个人理解emulateJSON作用 与java后台接口参数的关系
查看>>
浏览器同源策略和跨域请求
查看>>
js JSON对象属性
查看>>
jsp内部传参与重定向传参
查看>>
基于PCA的人脸降维
查看>>
2017-01-04
查看>>
机器学习中的度量——相似度
查看>>
Expert 诊断优化系列------------------冤枉磁盘了
查看>>