python入门之文件处理

1.读取文件

f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8")

data=f.read()

print(data)

f.close()

输出为·:txt文件中的内容

当把mode改为“rb”时,此时输出的文件是二进制模式的

 

 

当你无法判断出文件的编码时,可以引用chardet来识别文件的编码类型

import chardet

f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8")

data=f.read()

print(chardet.detect(data))

输出为:判断这个文件的编码类型的结果

 

一行一行读取文件的方法:

f=open(file="C:\BiZhi\新建文本文档.txt",mode="r",encoding="utf-8")

for line in f:

print(line)

 

2.写文件

f=open("兼职.txt""w")

f.write("aaa")

f.close()

此时同目录下就会有一个名为兼职的txt文件。##注意点,当我再次在这个文件里写内容时,之前的内容都会清空。

添加

f=open("兼职.txt","a")
f.write("\n1234555".encode("utf-8"))
f.close()

输出为在最后添加了1234555

 

 也可以以wb形式去写内容,此时“小黄鸭”是bytes类型

f = open(file="test.txt", mode="wb")

f.write('小黄芽'.encode('utf-8'))

f.close()

 

 

3.混合模式:读写和写读

读写:先读到这个文件,然后可以在文件里进行修改

f=open("兼职.txt","r+")
data=f.read()
print(data)

f.write("\n1234555")
f.close()

输出:兼职.txt文件中多了一行1234555

 

写读:写的内容将原文件的内容替换掉了,然后在进行读

f=open("兼职2.txt","w+")
f.write("\n1234555")
data=f.read()
print(data)
f.close()

输出:兼职2.txt中的内容消失,此时内容只有1234555

 

4.常用的文件处理方法

1)flush:将缓存内的内容强制刷新到硬盘上。

f=open("兼职2.txt","w+")

f.write("aaa")#此时aaa还在缓存中,并没有在硬盘内

f.flush()#此时aaa已经存在硬盘内

 

2)readline:只读一行(一直读文件,遇到/r或/n为止)

 

3)

f.tell:显示光标所在位

f.seek(n):光标跳转到n位

f.read:读文件

f.truncate(n) 

 

从第头开始第n个字节往后开始截断,剩下前面的字节所组成的内容

####注:tell ,seek,truncate按照的是字节  read按照的是字符 

    

 

 
posted @ 2018-05-08 19:22  辉辉辉辉a  阅读(174)  评论(0编辑  收藏  举报