#1.文件
#*** open(文件路径,打开的模式如r)返回file对象 +有读写和创建
#r:读
#w:写
#a:追加
#rb:读二进制
#wb:写二进制
#r+:打开拥有读写
#w+:打开文件用于读写,有替换效果
#rb+:
#wb+:
#ab:二进制追加
#a+:存在追加,不存在创建后读写
#ab+:二进制,存在追加,不存在创建后读写
#读文件
files=open("ceshi.txt","r",encoding="utf-8")
strs=files.read(2)#读文件指定返回到字符
print(strs)
print(files.tell())#返回文件位置
files.close()
files=open("ceshi.txt","r",encoding="utf-8")
strss=files.readline()#返回一行,没有返回空字符
print(strss)
files.close()
files=open("ceshi.txt","r",encoding="utf-8")
strsss=files.readlines()#返回所以行
for i in strsss:
print(i)
files.close()
#写文件
filee=open("ceshi.txt","w",encoding="utf-8")
num=filee.write("xxx")#返回字符数
print(num)
filee.close()
#循环遍历file
#1
with open("ceshi.txt","r+") as f:
print(f.read())
f.close()
#2
filex=open("ceshi.txt","r+")
for i in filex:
print(i)
filex.close()
#seek(移动的步数,0|1|2)改变文件位置
#0默认从文件起始位置开始s
#1从文件当前位置开始
#2从文件末尾开始
f=open("num.txt","wb+")
f.write(b"a123456789bcd")#在文本文件中 (那些打开文件的模式下没有 b 的), 只会相对于文件起始位置进行定位。(不是字节)
num=f.seek(4)#返回位置下标
print(f.read(1))
f.seek(2,1)#当前位置算往后算0,1
print(f.read(1))
f.seek(-2,2)
print(f.read(1))
f.close()
#pickle模块序列化
#序列化将对象保存到文件
#反序列化将对象从文件取出
import pickle
#1,序列化
data1={'a':1,'b':2,'c':3}
fs=open("num.txt","wb")
pickle.dump(data1,fs)#保存到文件
fs.close()
#2.反序列化
data1={'a':1,'b':2,'c':3}
fx=open("num.txt","rb")
data=pickle.load(fx)#从文件解析
print(data)
fx.close()
#简单的爬虫
from urllib import request
respose=request.urlopen("http://www.baidu.com/")
fi=open("baiduxx.html","w",encoding="utf-8")
page=fi.write(str(respose.read()))
fi.close()
import os
#好多好多》》》》》》》》》
第八节课 python file文件
最新推荐文章于 2022-07-06 17:43:38 发布