1.文件打开
' r':只读模式,默认值,如果文件不存在,返回FileNotFoundError
'w':覆盖写模式,文件不存在则创建,存在则完全覆盖
'×':创建写模式,文件不存在则创建,存在则返回FileExistsError
'a':追加写模式,文件不存在则创建,存在则在文件最后追加内容
'b' :二进制文件模式
't':文本文件模式,默认值
'+':与r/w/x/a一同使用,在原功能基础上增加同时读写功能
<变量名> = 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"):二进制形式、覆盖写模式
#以文本方式打开
tf = open("f.txt","rt",encoding = "UTF-8")
print(tf.readline())
tf.close()
#以二进制形式打开
bf = open("f.txt","rb")
print(bf.readline())
bf.close()
运行结果:
2.文件关闭
<变量名>.close()
3.文件读取44
'''
f.txt的内容:
中国是个伟大的国家
我爱中国
中国好
'''
'''
<f>.read(size=-1) 读入全部内容,如果给出参数,读入前size长度
<f>.readline(size=-1) 读入一行内容,如果给出参数,读入该行前size长度
<f>.readlines(hint=-1) 读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行
'''
#遍历全文本:方法1
fname = input("请输入打开的文件名:")
fo = open(fname,"r",encoding='utf8')
txt = fo.read()
print(type(txt))
fo.close()
print(txt)
#遍历全文本:方法2
fname = input("请输入打开的文件名:")
fo = open(fname,"r",encoding='utf8')
txt = fo.read(2)
print(type(txt))
while txt!="":
#对txt处理
print(txt)
txt = fo.read(2)
fo.close()
#逐行遍历文件:方法1
fname = input("请输入打开的文件名:")
fo = open(fname,"r",encoding='utf8')
for line in fo.readlines():
print(line)
print(type(line))
fo.close()
#逐行遍历文件:方法2
fname = input("请输入打开的文件名:")
fo = open(fname,"r",encoding='utf8')
for line in fo:
print(line)
print(type(line))
fo.close()
4.文件写入
'''
<f>.write(s) 向文件写入一个字符串s
<f>.writelines(lines) 将一个元素全为字符串的列表无间隙地写入文件
<f>.seek(offset) 改变当前文件操作指针的位置,offset含义如下:0-文件开头;1-当前位置;2-文件结尾
'''
fo = open("output.txt","w+")
ls = ["中国","美国","英国"]
fo.writelines(ls)
print(type(fo))
fo.seek(0)
for line in fo:
print(line)
fo.close()