python_seek()

21:12 2019/1/16/周三
//函数内置函数复习
map():
//把列表里面的
li=[1,2,3,4,5,6]
print(list(map(str,li)))
//reduce()类似上面的map(),把后面的可迭代的对象里面的内容依次取出,然后交给前面的处理,最后得到的是一个值。
from functools import  reduce
res=reduce(lambda x,y:x+y,li)
print(res)
运行结果:
21

//14:41 2019/1/17/周四

//文件操作其他方式。
os.chdir("D://")
os.getcwd()
'D:\\'
f=open("a.txt","w",encoding="utf-8")
f.write("1111")
4
f.flush()//刷新后文件中才会有内容。
//seek()光标移动
10:38 2019/1/24/周四
f=open("seek","r",encoding="utf-8")
print(f.tell())
f.seek(10)
print(f.tell())
f.seek(3)
print(f.tell())
结果:
0
10
3
//seek是相对于文件开始位置移动的。
如果相对与当前位置可以用下面方式:
f=open("seek","rb")//注意如果想利用相对位置的话,就得用rb模式同时把编码方式去掉。如果想要读取正确内容就必须要解码。
# data=f.readlines()
# print(data)
print(f.tell())
# print(f.tell())
f.seek(10,1)//1表示正续移动
print(f.tell())
f.seek(-15,2)//2表示倒叙移动
print(f.tell())
data=f.readlines()
print(data)
print(data[-1].decode())//通过decode进行二近制解码。



//循环读取文件方法:
推荐方法1:
f=open("seek","rb")
for i in f:
    print(i.decode(),end="")#通过end=""把文件中的空格去掉。

方法2:
f=open("seek","rb")
for i in f.readlines():#f.readlines()把文件存放在内存里面
    print(i.decode(),end="")
结果:
1111
2222
hellow
安哲琨
33333

猜你喜欢

转载自blog.csdn.net/qq_37431752/article/details/87438896
今日推荐