1、文件打开:变量名=open(文件路径及文件名,模式)
2、文件打开模式:
r(只读模式,文件不存在报错) w(覆盖写模式:不存在创建文件,存在则覆盖文件) x(创建写模式:不存在创建文件,文件存在则写失败) a(追加写模式) b(二进制文件模式) t(文本文件模式) +(在原有功能上增加同时读写功能,与r/w/x/a同时使用)
f = open(r'C:\Users\hh\PycharmProjects\OJ\simple\a.txt', 'r') f = open('C:/Users/hh/PycharmProjects/OJ/simple/a.txt', 'r+') #路径中\为转义符,使用\\或者/
3、文件读:
f.read(size=-1):从文件中读入整个文件内容,结果为字符串,参数可选,为读入前size长度的字符串 f.readline(size=-1):从文件中读入一行内容,结果为字符串,参数可选,为读入前size长度的字符串 f.readlines(hint=-1):从文件中读入所有的行,以每行为元素形成一个列表结果为字符串,参数可选,读入hint行 说明:文件打开后,对文件的读写有一个读取指针,当从文件中读入内容后,读取指针将向前进,再次读取的内容将从指针的位置开始 通过f.seek(0)介入文件的指针, 0返回文件开始 2返回文件结尾
f = open('C:/Users/zz/PycharmProjects/OJ/simple/a.txt', 'r+') #路径中\为转义符,使用\\或者/ print(f.read()) f.seek(0) print(f.readline()) f.seek(0) print(f.readlines()) f.seek(0) print(f.readlines(1)) print(f.readline()) print(f.readline())
循环遍历文件
f = open("b.txt", 'r') #相对路径 for line in f: print(line) f.close()
4、文件写:
f.write(s)向文件写入字符串s,每次写入后,将会记录一个写入指针,该方法可以反复调用,将在写入指针后分批写入内容,直至文件被关闭 f.writelines(lines)直接将列表类型的各元素连接起来写入文件f
f = open('f.txt', 'r+') print(f.read()) f.write("离离原上草,一岁一枯荣,\n") f.write("野火烧不尽,春风吹又生。\n") f.seek(0) print(f.read()) f.close() ls = ["离离原上草,一岁一枯荣,\n", "野火烧不尽,春风吹又生。\n"] f = open('g.txt', 'a+') f.writelines(ls) f.seek(0) print(f.readlines()) f.close()
5、一维数据存储
ls = ["北京", "上海", "广州"] f = open("g.csv", 'w') f.write(','.join(ls)) f = open("g.csv", 'r') ls = f.read() print(ls) ls_new = ls.split(",") f.close() print(ls_new)
北京,上海,广州 ['北京', '上海', '广州']