Python菜鸟学习手册10----文件的输入与输出,, 文本文件的读写


文本文件的读写主要通过open()所构建的文件对象来实现。

基本格式

f = open(文件名,模式)
最常用的模式有:
"r" # 只读
“w” # 写入 ---->如果文件中已经有内容,会把内容抹掉,如果不存在该文件,会新建文件

“a” #追加模式 ----->在已有的文字后添加文字

“b” #二进制模式(还在其他模式中追加使用)----->一般在处理音频、图像等文件的时候使用

“+” #读/写模式(可在其他模式中追加使用) ----->r+、w+ 可读可写

f = open('test1.txt', 'w')       #创建一个名为f的类文件对象,对test1.txt进行写操作f.write("大家好,我是王尼玛")    #像文件中写入字符串f.close() f = open('test1.txt')            #如果不写模式,默认为读模式while True:    line = f.readline()          #一次读一行    if len(line) == 0:                   break                        print (line,end="")          #不换行    f.close() 
输出:

大家好,我是王尼玛

f=open("test.txt","w")f.write("0123456789")f.seek(4)                     #跳到第4个字节f.write("Hello")f.close()f=open("test.txt","r")        print(f.read())               #把字符串全部输出f.seek(2)                     #跳回到第2个字符print(f.read(5))              #输出接下来的5个字节f.close()
输出:

0123Hello923Hel

小提示:

1.

以上所讲的仅仅是Python最基本的文件读写功能。更加丰富的文件读写功能由Python的标准库提供。

2.read() readline()以及readlines()用法

read() 每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。然而 .read() 生成文件内容最直接的字符串表示,但对于连续的面向行的处理,它却是不必要的,并且如果文件大于可用内存,则不可能实现这种处理。

.readline() 和 .readlines() 非常相似。它们都在类似于以下的结构中使用:
fh = open('c:\\autoexec.bat')for  line in  fh.readlines():      print(line)
.readline() 和 .readlines() 之间的差异是后者一次读取整个文件,象 .read() 一样。.readlines() 自动将文件内容分析成一个行的列表,该列表可以由 Python 的for ... in ...结构进行处理。另一方面,.readline() 每次只读取一行,通常比 .readlines() 慢得多。仅当没有足够内存可以一次读取整个文件时,才应该使用 .readline()。(readlines()的输出格式[“I’ll write this message for you\n”, “hehe,that’s will be ok.\n”])
上一讲:Python菜鸟学习手册09----面向对象续下一讲:如果有什么疑问欢迎到我的微信公众号提问~技术分享

Python菜鸟学习手册10----文件的输入与输出

评论关闭