python 文件操作

 

#1.基本文件操作:a.打开 b.操作 c.关闭

## open(文件名,模式,编码) 默认是只读模式r,w 只写,a 追加
## 文件是以二进制方式存在于磁盘中


# 只读 r (py3中自动将字节码转换为字符串)
file = open('log.txt','r',encoding="utf-8")

data = file.read()

file.close()

print(data)


#只写(不存在则自动创建,有则将内容全部清空后再写入)

file = open('log.txt','w')

file.write("hello,world")

file.close()


#追加

file = open('log.txt','a')

file.write(" hao")

file.close()

#2.以字节的方式


#只读 rb(以二进制方式打开,py不会自动编码)

f = open('log.txt','rb')

data = f.read()

f.close()

print(type(data),data)

# 只写 wb

f = open('log.txt','wb') #以字节类型打开了文件

f.write(bytes("中国",encoding="utf-8")) # 必须添加编码方式将字符串转换为字节

f.close()

 


#3.多重模式 r+(读写) w+(写读) a+ 带+的时候都加上encoding

# r+ 指针在最开始
f = open('log.txt','r+',encoding="utf-8"')

f.write("山东")
f.seek(0)
data = f.read()

print(data)


#w+ 先清空 之后写的才能读 指针在开始

f = open("log.txt",'w+',encoding="utf-8")

f.write("小荷才露尖尖角")

f.seek(0)#调整指针位置

data = f.read()

f.close()

print(data)


#a+ 追加 打开文件时指针在最后

f = open("log.txt",'a+',encoding='utf-8')

print(f.tell())#获取指针位置

 

#4.操作方法

# 刷新缓冲区 写入磁盘 flush()

f1 = open("log.txt",'r+',encoding="utf-8")

f1.write("wowowow")

f1.flush() #将 wowowow写入文件

i = input(">>>>>")


# 仅读取一行数据 readline() 很好用
# 还有一种更好的读取方式
for line in f1:
print(line)


# 截取 truncate() 指针在哪 就截取从开始到指针位置


# 读取文件可以用以下方式:1.自动关闭 2.可同时打开两个文件

with open("log.txt",'r+',encoding='utf-8') as f:

f.read()


with open('log.txt','r') as f1, open("log2.txt",'w') as f2:
for line in f1:
f2.write(line)

 

posted @ 2018-04-05 11:23  wuxinyan  阅读(213)  评论(0编辑  收藏  举报