文件操作
#打开文件
#读
#写
#关闭文件 file.close()
#unicode 中文
#GBK 中文
#ascii 处理英文 小写a的ascii码97 大写a的ascii码68
file = open(path,mode='r')
open方法默认读
把磁盘内容放到内存中
path:路径
mode:
r:读 r+ 读写兼备 读优先级高 读写指针在开头
w:写 w+ 读写兼备 写优先级高 读写指针移到开头
a:追加 a+ 读写兼备 读写指针在末尾
file_str = file.read()用来读取文件内容
如果read没有参数,那么文件中的所有内容都会被读取
flush: 写文件首先写入到了缓冲区中
读取大文件
with open(path,mode,encoding=) as f:
支持上下文管理,会自动帮你关闭文件
使用循环嵌套 readLine()
读写指针:
读和写共享一根指针
每一次读取文件,都会向后自行维护移动
移动读写指针:
file.seek(偏移量,从何处便宜)
#偏移量
#从何处偏移:’0‘代表从文件开头。’1‘代表从当前位置。‘2’代表从文件末尾read
读取一行 readline():
readline:分析字符串中的换行符,遇到换行符(或者EOF标志)停止读取
读取整个文件到一个字符串列表中 readlines(size)(整个文件)= read(整个文件):读取整个文件到一个字符串列表
#200M
#readlines 是用ReadLine()循环实现
编码:encode
解码:decode
关于中文的文件 :打开文件的指定编码 encoding=’utf-8‘
a_1:地中海式命名
aA:驼峰式命名
文件末尾:
Windows:
回车:\n
换行: \r
linux:\r\n
协议:\r\n
Windows下的换行:\n
linux:\r\n
mac os :\r
---------------------------------------
写文件
写模式打开文件,会把文件清空。 file.truncate 原因是会把文件的读写指正移到开头
追加(a)模式打开文件,不会把文件清空,原因是把读写指针移到文件最后
write(字符串):不会自动带换行符号
writelines(字符串列表):把字符串列表写入到文件中
--------------------------------------
csv文件
csv文件类似一种表格文件
写入内容:
打开文件(普通打开文件,open函数,只能是处理二进制或者普通的文件)
再进行一次装饰,处理成可以进行csv读取的文件
写入:
就是把一些用逗号分割的数据 写成一个表格
writerow()
关闭文件
代码示例:
写入文件
import csv
fp = open('1.csv', 'a+')
csv_fp = csv.writer(fp) #处理成支持csv文件操作的对象(句柄)
mytuple = ('abc', 'efd', 'fewf')
csv_fp.writerow(mytuple)
fp.close()
读文件
import csv
fp = open('1.csv', 'r')
read_fp = csv.reader(fp)
for var in read_fp:
print(var)
print(type(var))