Python之文件处理

文件处理:文件操作分为读、写、修改读:

f = open(file = 'D:/luffy/购物信息.txt ,mode = 'r' , encoding = 'utf-8') date = f.read() f.close

encoding = 'utf-8' 表示 按照uft-8 的规则去断句,然后转换成unicde存储
mode = 'r' 表式只读
f.read()表示读取的所有内容(已转换成字符串)
f.close ,表示关闭文件

 

文件处理的类型:
只要处理类型加上b(bytes),表示只这样操作(一般不知道写入编码的时候用)
'r'(读) :读取出来的内容为字符串类型
'rb'(只读):以二进制的方式读取
’r+‘(可读写):以读的方式打开,支持写入
'w'(写入) :创建新内容,覆盖旧内容
'w+’(写读):以创建的模式打开,支持读取
读写和写读指针都会停在最后(读写,不可读取刚写内容,写读:可以读取刚写的内容)


#按编码写入
f = open('测试2.txt','wb')
f.write('我是沙僧'.encode('gbk'))
f.close()


‘a’ (追加,指针停在最后) ‘a+'(文件中有就不操作,没有在末尾加上)
重要:注意存入内容编码,以哪个编码,以哪个编码打开
加b读出来是二进制,主要用于网络传输文件,不能指定读取编码
chardet:自动检测编码类型 import chardet
a = chardet.detect(date)
print(a)
循环读取:for i in f : print(i) (用完即删,不占内存)


#循环打印
for i in f: print(i)
内置的函数操作:
def fileno() 返回文件句柄在内核中的索引值
def flush() 强制将写入的buff缓存存到硬盘
def redable() 判断文件是否可读(linux系统中判断特殊文件)
def readline()  每次读取一行
def seek() 把操作文件的光标移动到指定位置(按字节算长度,字符编码每个字符所占的字节长度不一样)
#f.seek(3) #调整指针位置
def seekable() 判断文件是否可seek操作
#f.seekable()
def tell() 返回当前文件操作的光标位置
f = open('测试2.txt','wb')
f.write('我是沙僧'.encode('gbk'))
f.tell()
def truncate() 按指定长度截取文件 *按指定长度就从文件开头开始截取长度,不指定的话,就按当前位置到文件尾部的内容全部去掉
def writable() 判断文字是否可写

posted @ 2018-08-28 11:04  叫我沙悟净  阅读(2055)  评论(0编辑  收藏  举报