yandyand

导航

python之文件操作

''
open(file_path"文件的名字/路径",mode"操作权限")
mode (权限)
w(write) 写操作/如果没有这个文件则会自动创建这个文件
r(read) 读操作
read() 读取全部
readline() 按照行去读取
readlines() 把每一行当作一个元素存放在列表中
a(append) 追加 如果追加的文件不存在则自动创建一个文件,如果存在就在文件末尾追加内容

w+ 虽然有读写的功能但是会覆盖之前的内容,拥有创建权限。流程:先将原本的文件情况然后再覆盖,
r+ 没有创建新文件的权限
a+ 既可以创建新的文件,又不会覆盖之前的内容

wb 二进制写
rb 二进制读
ab 二进制追加写

'''

#创建一个文件,然后再该文件中写入内容
# file1=open("yy.txt","w") #调用open函数
# file1.write("你好世界\n,hello,world") #写入的内容
# file1.close() #在执行完操作之后一定要关闭文件

#读取方式/全部读取
# file1=open("yy.txt","r") #:调用open函数
# return1=file1.read() #:执行读操作
# print(return1) #:将返回的结果变量打印出来
# file1.close() #:关闭文件

#读取方式/只读取一次
# file1=open("yy.txt","r")
# return1=file1.readline()
# return2=file1.readline()
# return3=file1.readline()
# print(return1)
# print(return2)
# print(return3)
# file1.close()

#读取方式/按照行为单位读取全文
#******把每一行当场一个元素放在列表当中*****
# file1=open("yy.txt","r")
# return1=file1.readlines()
# print(return1)
# file1.close()

#追加 a
#:如果没有这个文件则会自动创建,如果有则会再文件的末尾处追加内容
# file1=open("yy1.txt","a")
# file1.write("Loster")
# print(file1)
# file1.close()

#w+
#虽然w+有着读写功能但是会再往里面写会覆盖之前的内容
# f=open("yy1.txt","w+")
# f.write("ww.baiduxinlang.com")
# f.seek(0,0) #seek是移动指针的意思,指针就是光标,移动光标的显示位置,0代表从第1为开始,后面的
#0代表按照第一0的参照物来移动光标,默认最后一位都是0
# check1=f.read()
# print(check1)
# f.close()

#r+
#:没有创建文件的权限,并且覆盖的内容是有多少覆盖多少,剩下的没有覆盖的还是会显示出来
# file1=open("yy1.txt","r+")
# file1.write("www.yang")
# file1.seek(0,0)
# return1=file1.read()
# print(return1)
# file1.close()

#a+ 既不会覆盖之前文件当中的内容,又可以创建新的文件
# file1=open("ceshi.txt","a+")
# file1.write("世界!!")
# file1.write("\n和平!!!")
# file1.seek(0,0)
# result1=file1.read()
# print(result1)
# file1.close()

#wb 按照二进制的方式进行写入
# file1=open("yy.txt","wb")
# file1.write("你好世界".encode("UTF-8")) #encode进行编码
# file1.close()

#rb 按照二进制的方式进行读取
# file1=open("yy.txt","rb")
# file1.seek(0,0)
# content=file1.read().decode('utf-8') #:使用decode进行解码
# print(content)
# file1.close()

#模拟忽略错误,并且使用不同的解码进行解码
# file1=open("ceshi.txt","w",encoding='utf-8') #encoding:代表声明,声明这个字符编码是utf-8
# file1.write("我就是一个Loster,我能成功吗??")
# file1.close()
#在使用gbk编码进行解码
# file2=open("ceshi.txt","r",encoding='gbk',errors="ignore")
# file2=open("ceshi.txt","r",encoding='utf-8') #:使用正确的编码格式进行声明
#:errors 代表忽略错误函数, ignore:确认忽略错误
# res=file2.read() #:可以看到最后显示的内容是乱码,因为没有使用正确的编码进行解码
# print(res)

#####关于文件操作的原理概述#######
# file1=open("杨洋.txt","w")
# file1.write("这是一个测试文件")
#:把内容写入到缓冲区
# file1.flush()
#:刷新缓冲区,将缓冲区的内容立即写入到文件当中
# file1.close()
#关闭文件操作也相当于是刷新缓冲区的操作
#############################################
# 刷新缓冲区的方式 #
#1.缓冲区被沾满了
#2.关闭文件的时候自动刷新缓冲区
#3.冲区运行结束
#4.手动刷新缓冲区 flush()
#############################################

#with 语法
#不用手动关闭文件,执行结束时会自动关闭文件
# with open("yangceshi1.txt","w",encoding='utf-8') as f:
# f.write("我是一个with语法!")\

##########################################################################################
#:接下来式一些练习###
# file1=open("ceshi.txt",'w')
# file1.write("这是一个测试语句")
# file1.close()

# file1=open("ceshi.txt","r")
# res=file1.read()
# print(res)
# file1.close()

# file1=open("ceshi.txt","a")
# file1.write(",这是第二个测试语句")
# file1.seek(0,0)
# file1.close()
#
# file1=open("ceshi.txt","r")
# res=file1.readlines()
# print(res)
# file1.close()41

# file1=open("ceshi.txt","w+")
# file1.write("今天是个好日子,我还年轻")
# file1.seek(0,0)
# res=file1.read()
# print(res)
# file1.close()

# file1=open("ceshi.txt","r+")
# file1.write("今天是个坏日子")
# file1.seek(0,0)
# res=file1.read()
# print(res)
# file1.close()

# file1=open("ceshi.txt","a+")
# file1.write("\n你好呀!")
# file1.seek(0,0)
# res=file1.read()
# print(res)
# file1.close()
# file1=open("ceshi.txt","wb")
# file1.write("不及他第一次遇见你".encode('gbk'))
# file1.close()

# file1=open("ceshi.txt","rb")
# res=file1.read().decode('gbk')
# print(res)
# file1.close()

# file1=open("ceshi1.txt",'ab')
# file1.write(",陌生的人啊~".encode('utf-8'))
# file1.close()
#
# file=open("ceshi1.txt",'rb')
# res=file.read().decode('utf-8')
# print(res)
# file.close()

# file1=open("ceshi2.txt","w",encoding='gbk')
# file1.write("我听见有人唱着古老的歌")
# file1.close()
# file1=open("ceshi2.txt","r",encoding='gbk',errors='ignore')
# res=file1.read()
# print(res)
# file1.close()

# with open("ceshi2.txt","w+") as file1:
# file1.write("南风南,北海北")
# file1.seek(0,0)
# res=file1.read()
# print(res)

# import pickle #调用pickle函数
# list=[1,2,3,4]
# res=pickle.dumps(list)
# print(res)
# res1=pickle.loads(res)
# print(res1)

# import pickle
# list1=[1,2,3,4]
# res=pickle.dumps(list1)
# print(res)
# res1=pickle.loads(res)
# print(res1)

# import pickle
# with open("a.txt","wb") as file1:
# pickle.dump("南山南,北秋北",file1)
# with open("a.txt","rb") as file1:
# res2=pickle.load(file1)
# print(res2)






posted on 2020-06-06 22:20  yandyand  阅读(83)  评论(0编辑  收藏  举报