python基础 & 读写文件
2020-03-11 12:17
253 查看
1、open函数用来打开文件
- open(name[, mode[, buffering]]) 打开文件可传的参数
- open函数使用一个文件名作为唯一的强制参数,然后返回一个文件对象。
- 模式(mode)和缓冲(buffering)参数都是可选的
-
打开文件的模式有
r,只读模式(默认)。
-
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
-
a,追加模式。【可读; 不存在则创建;存在则只追加内容;】
-
注: “+” 表示可以同时读写某个文件
w,只写模式。【不可读;不存在则创建;存在则删除内容;】
-
w+,写读
-
a+,同a
with语句
-
作用:将打开文件写在with中当对文件操作完成后with语句会自动帮关闭文件,避免忘记写f.close()
with open("data1.txt",'r',encoding = 'utf-8') as f: for line in f: print(line)
2、三种读操作比较
-
readline()每次读取一行,当前位置移到下一行
-
readlines()读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素
-
read(size)从文件当前位置起读取size个字节,如果不加size会默认一次性读取整个文件(适用于读取小文件)
#1. read()一次读取所有内容 '''aaa111 bbb222''' f = open(r"data.txt") print(f.read()) f.close() #2. readline(),每次只读取一行,光标下移 ''' 0: aaa111 1: bbb222 ''' f = open(r"data.txt") for i in range(2): print(str(i) + ": " + f.readline(),) #3. 一次读取所有,每行作为列表的一个值 '''['aaa111\n', 'bbb222\n']''' f = open(r"data.txt") print(f.readlines())
3、使用read()读文件
1. read(n)读取指定长度的文件
f = open(r"somefile.txt") print(f.read(7)) # Welcome 先读出 7 个字符 print(f.read(4)) #‘ to ‘ 接着上次读出 4 个字符 f.close()
2. seek(offset[, whence]) 随机访问
作用:从文件指定位置读取或写入
f = open(r"somefile.txt", "w") f.write("01234567890123456789") f.seek(5) f.write("Hello, World!") f.close() f = open(r"somefile.txt") print(f.read()) # 01234Hello, World!89
3. tell 返回当前读取到文件的位置下标
f = open(r"somefile.txt") f.read(1) f.read(2) print(f.tell()) # 3 3就是读取到文件的第三个字符
4、readline()读文件
作用:readline 的用法,速度是fileinput的3倍左右,每秒3-4万行,好处是 一行行读 ,不占内存,适合处理比较大的文件,比如超过内存大小的文件
f1 = open('test02.py','r') f2 = open('test.txt','w') while True: line = f1.readline() if not line: break f2.write(line) f1.close() f2.close()
5、readlines()读文件
作用:readlines会把文件都读入内存,速度大大增加,但是木有这么大内存,那就只能乖乖的用readline
f1=open("readline.txt","r") for line in f1.readlines(): print(line)
6、将data1.txt中内容读取并写入到data2.txt中
f1 = open('data1.txt','r') f2 = open('data2.txt','w') for line in f1: f2.write(line) f1.close() f2.close()
7、使用eval()方法将文件读取成字典
f = open('data1.txt') f1 = (f.read()) data = eval(f1) f.close() print(data) # 运行结果: {'k2': 'v2', 'k3': 'v3', 'k1': 'v1'}
8、将文件内容读取成列表
lock = [] f = open("password.txt") for name in f.readlines(): lock.append(name.strip('\n')) print(lock) 运行结果: ['aaa 111', 'bbb 222', 'ccc 333']
经典面试题:现在有一个5G的文件,用python写入另一个文件里
#!/usr/bin/python # -*- coding: utf-8 -*- def read_big_file_v(fname): block_size = 1024 * 8 with open(fname,encoding="utf8") as fp: while True: chunk = fp.read(block_size) # 当文件没有更多内容时,read 调用将会返回空字符串 '' if not chunk: break print(chunk) path = r'C:\aaa\luting\edc-backend\tttt.py' read_big_file_v(path)
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- Python基础:文件读写
- Python 基础 读写文件
- python基础之文件读写
- python基础6--文件操作--对象的读写
- python自动化--语言基础四模块、文件读写、异常
- Python基础——读写文件
- Python基础语法13 文件读写
- python基础——文件读写
- Python基础知识之文件读写与修改
- Python基础笔记_Day13_Python文件读写IO、异常、自定义异常
- Python基础自学(第四章-文件读写、内置函数)
- python 0基础学习笔记11:读写不同类型的文件
- python基础汇总(五)——文件读写、备份,批量修改文件夹,os模块操作
- open()文件对象的seek、tell方法详解 分类: python基础学习 open()文件读写 python Module 2013-09-05 09:40 450人阅读 评论(0) 收藏
- python基础之高阶函数、匿名函数 、装饰器,文件的读写
- python基础教程学习笔记---(6)文件读写
- python基础-读写文件
- 【python基础知识】文件操作中的读写模式讲解
- Python语法基础:文件读写和复制
- python基础-文件读写'r' 和 'rb'区别