python读写文件中read()、readline()和readlines()的用法
python文件读写示例
with open(file_w_path, 'r') as f_r:
with open(file_r_path, 'w') as f_w:
for line in f_r.readlines():
f_w.write(line + '\n')
覆盖和追加细节
r:只读方式打开文件,缺省默认。
r+:读写方式打开文件。
w:只写方式打开文件,若文件存在以覆盖方式写入,不存在则创建该文件(注意目录无法创建,即指定文件位置的目录不存在会报错)
w+:读写方式代开文件,文件存在则覆盖写入。
a:追加方式打开文件,文件指针会放在文件结尾。
a+:追加读写。
python三种读取文件方式:
- read()
- readline()
- readlines()
然而它们的区别是什么呢,在平时用到时总会遇到,今天总结一下。
0. 前期工作
首先新建一个文件read.txt,用于实际效果举例
Hello
welcome to my world
you are so clever !!!
1. read()
read(size)方法从文件当前位置起读取size个字节,默认(无参数)表示读取至文件结束为止,它的返回为字符串对象
测试程序如下:
import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
content = f.read()
print(content)
print(type(content))
这里需要注意两点:
我用到了os相关操作,即省去了需要输入文件完整路径的麻烦。
大家要养成with open file as f: 这一习惯,即操作完毕后让其自动关闭文件。
Hello
welcome to my world
you are so clever !!!
<class 'str'>
Process finished with exit code 0
2. readline()
每次只读一行内容,读取时内存占用较少(适用于大文件),它的返回为字符串对象
测试程序:
import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
while True:
line = f.readline()
if line:
print(line)
else:
break
输出结果:
Hello
<class 'str'>
Process finished with exit code 0
3. readlines()
读取文件所有行,保存在列表(list)变量中,列表中每一行为一个元素,它返回的是一个列表对象。
测试程序:
import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
content = f.readlines()
print(content)
print(type(content))
输出结果:
['Hello\n', 'welcome to my world\n', '1234\n', 'you are so clever !!!']
<class 'list'>
Process finished with exit code 0
seek
用于移动文件读取指针到指定位置
itertools.islice()
直接读取文件制定行
#读取文件前50行
for line in itertools.islice(f, 50):
pass
#跳过文件第一行读取文件
for line in itertools.islice(f, 1, None):
pass
python读写文件中read()、readline()和readlines()的用法的更多相关文章
- Python 读写文件中数据
1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图 ...
- python 读写文件中 w与wt ; r与rt 的区别
w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是windows平台特有的所谓text mode(文本模式),区别在于会自动识别windows平台的换行符.类Unix平 ...
- Python 读写文件中w与wt, r与rt的区别
w和wt是一们的,r和rt是一样的,t是默认参数,可以省略的,help(open)就能看到open的参数的详细说明. w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是 ...
- Python读写文件
Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...
- Python读写文件实际操作的五大步骤
Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...
- Python 读写文件的正确方式
当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...
- [Python]读写文件方法
http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...
- python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值
Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...
- Python工程文件中的名词解释---Module与Package的区别
当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. M ...
随机推荐
- Flex学习笔记-时间触发器
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...
- 机器学习入门-文本数据-构造Ngram词袋模型 1.CountVectorizer(ngram_range) 构建Ngram词袋模型
函数说明: 1 CountVectorizer(ngram_range=(2, 2)) 进行字符串的前后组合,构造出新的词袋标签 参数说明:ngram_range=(2, 2) 表示选用2个词进行前后 ...
- JDK1.8 LocalDateTime 时间类与字符互转
public static void main(String[] args) { DateTimeFormatter dateTimeFormatter=DateTimeFormatter.ofPat ...
- Servlet基本_Httpリクエスト、レスポンス
1.リクエスト リクエストは.リクエストライン.メッセージヘッダ.改行.メッセージボディで組まれる. 主なリクエストヘッダは. Accept クライアントが利用可能なデータメディアタイプを指定. Ac ...
- Cannot detect Web Project version. Please specify version of Web Project through Maven project property <webVersion>. E.g.: <properties> <webVersion>3.0</webVersion> </properties>
鼠标放在问题出会出现set web project version to 3.0和set web project version to 3.1两个选项 随便选一个版本就好了
- Servlet开发
源地址:http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...
- 处于ESTABLISHED 状态的socket 却没有进程信息
接<一次docker中的nginx进程响应慢问题定位记录> 在排查这个问题的时候,我先使用netstat 去查看,看到底是内核协议栈的连接请求没给到进程,还是进程accept链路慢了,或者 ...
- 447. Add Strings
原文题目: 447. Add Strings 解题: 字符串的当做整数来做加法,其实就是大数加法的简化版本 思路: 1)考虑不同位数,如"1234"+“45”,需要先处理低两位,再 ...
- 更新package.json中的dependencies依赖到最新版本 -
我们从别人那里下载一个项目 ,通过package.json里面的依赖 npm install 来安装所需要的各个包 但是 有可能项目很老,我们一个个更新又很麻烦所以 https://blog.csd ...
- unity 随笔
转载 慕容小匹夫 从游戏脚本语言说起,剖析Mono所搭建的脚本基础 深入浅出聊优化:从Draw Calls到GC 谁偷了我的热更新?Mono,JIT,IOS JS or C ...