文件的打开
f= open(“文件名,路径之中用反斜杠隔开”,“打开方式”)
打开方式:
‘r’:读取
’w’:写入,完全覆盖
‘x’:新建文件并写入,如果已存在会报错
’a’:追加方式,会追加在末尾
‘b’:二进制模式打开
’+‘:在原功能基础上增加读写给功能,w+会清空原文件,r+不会

文件的关闭
格式:f.close()
写了打开就顺手写上关闭,免得忘掉

文件的读取

1、 read方法:
格式:f.read(num)
num为指定读取的字符数,如果参数为空,默认全部读取
2、readline方法:
格式:f.readline()
从当前位置开始读取,直到遇见换行符(\n)
3、readlines方法:
格式:f.readlines(hint=xx)
读入文件所有行,以每行为元素形成列表。给hint参数,就是从当前位置读取多少行

因为一行是一个元素,此时可以用遍历循环,一次读入,分行处理:
for line in f.readlines():

f=open('sowhat.txt','r')
f1=f.readlines()
print(f1)

输出:

['随便写点什么吧\n', '写点什么呢\n', '我也不知道\n', '那就这样吧\n', '凑凑字数完事了']

也有分行读入,逐行处理的:
for line in f:

f=open('sowhat.txt','r')
for line in f:
   print(line)

输出:

随便写点什么吧

写点什么呢

我也不知道

那就这样吧

凑凑字数完事了

文件的写入
1、write方法:
格式:f.write(str)
str即你要写入文件的字符串。它不会自动换行,要手动在句末加上\n

2、writelines方法:
格式:f.writelines(strlist)
strlist就是你要写入的列表,里面是字符串。此方法就是把这些字符串接起来

f=open('sowhat.txt','w')
a=['今天晚上吃什么',' 啊我也不知道\n','至少要吃饱吧']
f.writelines(a)
f.close()
f=open('sowhat.txt','r')
print(f.read())

输出:

今天晚上吃什么 啊我也不知道
至少要吃饱吧

文件的定位
seek方法:
格式:f.seek(offset,whence)
offset即要偏移多少位置,whence有0(从文件开头向后偏移),1(从当前位置向后偏移),2(从文件末尾向前偏移),用文本方式打开只能用0,二进制打开012都可以用
f.seek(0)即回到文件开头

f=open('sowhat.txt','w+')
a=['今天晚上吃什么',' 啊我也不知道\n','至少要吃饱吧']
f.writelines(a)
print(f.read())

输出:

↑啥都没有,因为指针已经在最后了,没东西可读了。加入f.seek(0):

f=open('sowhat.txt','w+')
a=['今天晚上吃什么',' 啊我也不知道\n','至少要吃饱吧']
f.writelines(a)
f.seek(0)
print(f.read())

输出:

今天晚上吃什么 啊我也不知道
至少要吃饱吧