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()
输出:

0123Hello9
23Hel

小提示:

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菜鸟学习手册11----异常处理



如果有什么疑问欢迎到我的微信公众号提问~



你可能感兴趣的:(Python,python,输入,输出,输入与输出)