创建文件对象
我们打开一个文件,并使用一个对象来表示该文件:
f = open(文件名,模式)
常用的打开模式:
f = open("f.txt") | 文本形式、只读模式、默认值 |
f = open("f.txt", "rt") | 文本形式、只读模式、同默认值 |
f = open("f.txt", "w") | 文本形式、覆盖写模式 |
f = open("f.txt", "a+") | 文本形式、追加写模式+读文件 |
f = open("f.txt",“x”) | 文本形式、创建写模式 |
f = open("f.txt", "b") | 二进制形式、只读模式 |
f = open("f.txt", "wb") | 二进制形式、覆盖写模式 |
常用的操作方法:
f.txt 的内容为:
中国是一个伟大的国家!
<f>.read(size=-1) | 读入全部内容,如果给出参数,读入前size长度 >>>s = f.read(2) 中国 |
<f>. readline(size=-1) | 读入一行内容,如果给出参数,读入该行前size长度 >>>s=f.readline() 中国是一个伟大的国家! |
<f>. readlines(hint=-1) | 读入文件所有行,以每行为元素形成列表 >>>s = f. readlines() ['中国是一个伟大的国家! '] |
<f> .write(s) | 向文件写入一个字符串或字节流 >>>f .write("中国是一个伟大的国家!") |
<f>.writelines(lines) | 将一个元素全为字符串的列表写入文件 >>>ls = ["中国",“法国","美国"] >>>f .writelines(ls) 中国法国美国 |
<f>. seek(offset) | 改变当前文件操作指针的位置, offset含义如下: 0-文件开头; 1-当前位置; 2-文件结尾 >>>f.seek(0)#回到文件开头 |
文件的全文操作:
遍历全文方法一,一次性读入,统一处理
代码
fname=input("请输入要打开的文件的名称:")
fo=open(fname,"r")
txt=fo.read()
#对全文txt进行处理
fo.close()
遍历全文方法二,分长度读入
代码
fname = input ("请输入要打开的文件名称:")
fo = open(fname,"r")
txt = fo. read(2)
while txt != "":
#对txt进行处理
txt = fo.read(2)
fo. close()
逐行遍历全文:
方法一,一次读入,分行处理
fname = input("请输入要打开的文件名称:")
fo = open( fname,"r")
for line in fo.readlines():
print(line)
fo. close()
方法二 逐行读入,分别处理
fname = input("请输入要打开的文件名称:")
fo = open(fname,"r")
for line in fo:
print(line )
fo.close()