13、文件读取

1、文件读取

'''

过程

1、打开文件

2、读文件内容

3、关闭文件


#1、打开文件

open(path, flag[, encoding][,errors])

path:要打开文件的路径

flag:打开方式:

r :以只读的方式打开文件,文件的描述符放在文件的开头
rb:以二进制格式打开一个文件用于只读
r+:打开一个文件用于读写,文件的描述符放在文件的开头
w :打开一个文件只用于写入,如果该文件以及存在,会覆盖,如果不存在,会创建一个新文件;
wb:打开一个文件只用于写入二进制,如果该文件以及存在,会覆盖,如果不存在,会创建一个新文件;
w+:打开一个文件用于读写
a :打开一个文件用于追加,如果文件存在,文件描述符将会放到文件末尾;
a+:

encoding:编码方式

errors:错误处理




#ignore 忽略错误

path = "/Users/guohong/Desktop/test"

#f = open(path, "r",encoding = "utf-8",errors="ignore")

f = open(path, "r")



#2、读文件

#1、读取文件的全部内容

#str1 = f.read()

#print(str1)

#2、读取指定字符数

#str2 = f.read(10)
#print("*"+str2+"*")

#str3 = f.read(10)
#print("*"+str3+"*")


#3、读取整行,包括"\n"字符

#str4 = f.readline()
#print(str4)

#str5 = f.readline()
#print(str5)

#4、读取指定字符数

#str6 = f.readline(10)
#print(str6)


'''


#5、读取所有行并返回列表
path = "/Users/guohong/Desktop/test"

#f = open(path, "r",encoding = "utf-8",errors="ignore")

f = open(path, "r")


list7 = f.readlines()

print(list7)


#6、若给定的数字大于0,返回实际size字节的行数
#list8 = f.readlines(25)

#print(list8)

print("******************")

#7、修改描述符的位置

f.seek(10)
str9 = f.read()
print(str9)


#3、关闭文件

f.close()


#一个完整的过程


try:
f1 = open(path,"r",encoding="utf-8")
print(f1.read())
finally:
if f1:
f1.close()


with open(path, "r", encoding="utf-8") as f2:
print(f2.read())
-----------------------------------------------
2、写文件

path = "/Users/guohong/Desktop/test2"

#f = open(path, "a")


#写文件

#1、将信息写入缓存区


#f.write("zuijia")


#2、刷新缓存区
#直接把内部缓存区的数据立刻写入文件,而不是被动的等待,自动刷新缓存区写入

#f.flush()

'''

import time

while 1:
f.write("sunck is a good man")
f.flush()
time.sleep(1)

f.close()

'''

with open(path, "a") as f2:
f2.write("2222222222222222222222222")


----------------------------------
3、编码和解码


path = "/Users/guohong/Desktop/test5"

with open(path, "wb") as f1:
str = "sunck is a goo 是man"

f1.write(str.encode("utf-8"))

with open(path,"rb") as f2:
data = f2.read()
print(data)
print(type(data))

newData = data.decode("utf-8")
print(newData)
print(type(newData))
-------------------------------------------

import pickle  #数据持久性模块

mylist = [1,2,3,4,5,"sunck is "]
path = "/Users/guohong/Desktop/test7"

f = open(path, "wb")



pickle.dump(mylist,f)

f.close()

#读文件


f1 = open(path, "rb")
tempList = pickle.load(f1)
print(tempList)

f1.close()


posted @ 2020-02-18 16:14  步行-天下  阅读(71)  评论(0)    收藏  举报