emmm,直接开始罢...
打开文件
open(path,flag[,encoding][,error])
path:要打开文件的路径
flag:打开方式
r 只读
r+ 读写
rb 以二进制格式打开一个文件用于只读
w 写入,先删除原内容,再写入,没有此文件则创建
w+ 读写,先删除原内容,再写入,没有此文件则创建
wb 以二进制格式打开一个文件用于写入,可以用于从网络下载流媒体文件
a 写入追加,没有此文件则创建
a+ 读写,追加,没有此文件则创建
encoding:编码方式
errors:错误处理
读文件内容
f = open(
'好吗好的.txt',
'r',encoding=
'utf-8')
#1、读取文件全部内容
#str1=f.read()
#print(str1)
#2、读取指定字符数
str2=f.read(100
)
print(
'------start-------')
print(str2)
print(
'------end-------')
------start-------
好吗好的
作 者:大 冰
出 版 人:刘清华
责任编辑:薛 健 刘诗哲
监 制:毛闽峰 李 娜
策划编辑:李 娜
文案编辑:王 静
营销编辑:杜 莎 贾竹婷 雷清清
本书由天津博集新媒科技有限
------end-------
#3、读取一行,包括'\n'字符
str3=
f.readline()
print(
'------start-------')
print(str3)
print(
'------end-------')
------start-------
公司授权亚马逊全球范围发行
------end-------
#读取所有行并返回列表,列表中每个元素以'\n'结尾
#list1=f.readlines()
#print(list1)
#循环遍历文件对象来读取文件中的每一行
for line
in f:
print(line, end=
'')
#修改描述符的位置
f.seek(0)
#注意:描述符会随着文件的读取而往后退
写内容到文件
程序将信息写入缓冲区,在刷新缓冲区之后才会将内容写入文件
刷新缓冲区几种方式..
1、用flush()函数
2、当内存塞满
3、关闭文件时
path=
"ProudOfYou_1.txt"
f=open(path,
"w")
f.write("sunck is a good man")
f.flush()
#这方法能成功写入文件,以防后面代码出错而导致内容没有写入,但是最好要关闭文件
path=
"ProudOfYou_2.txt"
f=open(path,
"w")
f.write("sunck is a good man")
f.close()
#可以正常写入
关闭文件
f.close()
完整的过程
try:
f1=open(
'好吗好的.txt',
"r",encoding=
"utf-8")
print(f1.read())
finally:
if f1:
f1.close()
另一种方法(建议使用这种方法来读写文件)
with open(path,
"r",encoding=
"utf-8") as f2:
print(f2.read())
#这个打开文件的方法,最后会自动关闭文件,省事~
list-tuple-dict-set的文件操作
import pickle
#使用pickle模块你可以把Python对象直接保存到文件
myList=[1,2,3,4,5,
"sunck is a good man"]
path=
"file3.txt"
#写入
f=open(path,
"wb")
#因为myList不是字符串所以要以wb方式写入
pickle.dump(myList,f)
f.close()
#读取
f1=open(path,
"rb")
tempList=
pickle.load(f1)
print(tempList)
print(type(tempList))
f1.close()
#[1, 2, 3, 4, 5, 'sunck is a good man']
#<class 'list'>#其他序列的保存方式亦是类似,就不一一展示了。
转载于:https://www.cnblogs.com/byadmin/articles/foundation-6.html