Python学习入门基础教程(learning Python)--5.3 Python写文件基础
2013-07-13 20:25
1061 查看
前边我们学习了一下Python下如何读取一个文件的基本操作,学会了read和readline两个函数,本节我们学习一下Python下写文件的基本操作方法。
这里仍然是举例来说明如何写文件。例子的功能是往当前目录下的b.txt文件里写入两个字符串。
程序代码如下:
代码第1行是以写的方式打开当前目录下的b.txt这个文件,第2~3行分别写入hello 和 www.jeapedu.com这两个字符串到b.txt文件里,代码第4行是关闭文件。细心的读者会发现,代码第2行和第3行write里的参数不太一样,第3行代码出现了'\n',而第2行的代码里没有'\n',这里再第3行里加上'\n'的作用是以后方便readline一行行的读,或者说写入的着两个字符串在b.txt文件里是在同一行的。
代码第1~4行是先以写的方式打开b.txt写入两个字符串,关闭文件,代码第5~8行则是再以读的方式打开b.txt文件,读一行并输出,之后再次关闭文件b.txt。
好了,至此我们已经学会如何打开文件并写文件了,现在想提个小问题.。如果文件里本身有内容,每次在写入新数据时旧的数据能保留下来么?通过上边的例子演示可以看出,每次写入新数据时,前边的数据都不会被保留下来,真可怕!如果我就是想在旧文件里增加新数据那该怎么办?
这里我们现看看实现代码
和上边的程序唯一的区别是代码的第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内容。
由此可见每次写的数据都增加在文件的最后,实现了对旧数据的保留,又增加了新数据。
----
这里仍然是举例来说明如何写文件。例子的功能是往当前目录下的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.6 Python读文件操作高级
- Python学习入门基础教程(learning Python)--5.2 Python读文件基础
- Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程
- Python学习入门基础教程(learning Python)--5 Python文件处理
- Python学习入门基础教程(learning Python)--5.7 Python文件数据记录存储与处理
- Python学习入门基础教程(learning Python)--2.3.1 Python传参函数设计
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
- Python学习入门基础教程(learning Python)--6.4 Python的list与函数
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
- Python学习入门基础教程(learning Python)--3.3.1 Python下的布尔表达式
- Python学习入门基础教程(learning Python)--1.1Python程序设计流程
- Python学习入门基础教程(learning Python)--1.2.4 Python格式化输出科学计数 .
- Python学习入门基础教程(learning Python)--6.3 Python的list切片高级
- Python学习入门基础教程(learning Python)--1.3 Python数据输入 .
- Python学习入门基础教程(learning Python)--1.2Python输入输出与处理 .
- Python学习入门基础教程(learning Python)--2.2.2 Python全局和局部变量 .
- Python学习入门基础教程(learning Python)--2.3 Python自定义函数传参函数设计
- Python学习入门基础教程(learning Python)--2.3 Python自定义函数传参
- Python学习入门基础教程(learning Python)--1.4 Python数据处理基础 .