Python open write read和read功能的不同返回对象

Created on 日
@author: Zroad
1、读取文件的三个方法:read()、readline()、readlines()
2、三个方法均可接受一个变量用以限制每次读取的数据量,通常不使用该变量。
关于read()方法:
1、读取整个文件,将文件内容放到一个字符串变量中
2、如果文件大于可用内存,不可能使用这种处理
file_object = open("test.py",'r')
all_the_text = file_object.read()
print type(all_the_text)
print "all_the_text=",all_the_text
file_object.close()
关于readline()方法:
1、readline()每次读取一行,比readlines()慢得多
2、readline()返回的是一个字符串对象,保存当前行的内容
file_object1 = open("test.py",'r')
while True:
line = file_object1.readline()
print "line=",line
file_object1.close()
关于readlines()方法:
1、一次性读取整个文件。
2、自动将文件内容分析成一个行的列表。
file_object2 = open("test.py",'r')
lines = file_object2.readlines()
print "type(lines)=",type(lines)
for line in lines:
print "line=",line
file_object2.close()
本文已收录于以下专栏:
相关文章推荐
我们谈到“文本处理”时,我们通常是指处理的内容。Python 将文本文件的内容读入可以操作的字符串变量非常容易。文件对象提供了三个“读”方法: .read()、.readline() 和 .readl...
在处理日志文件的时候,常常会遇到这样的情况:日志文件巨大,不可能一次性把整个文件读入到内存中进行处理,例如需要在一台物理内存为 2GB 的机器上处理一个 2GB 的日志文件,我们可能希望每次只处理其中...
python中 readlines与xreadlines区别
这是我自己学习的答案,会尽力写的比较好。还望大家能够提出我的不足和错误,谢谢!文中例题:from sys import argvscript, filename = argvprint &We're ...
《笨办法学Python》 第17课手记本节内容是前几节内容的复习和综合,此外引入了exists函数。原代码如下:
from sys import argv
from os.path import ex...
这是我自己学习的答案,会尽力写的比较好。还望大家能够提出我的不足和错误,谢谢!文中例题:from sys import argv
from os.path import existsscript, f...
http://blog.csdn.net/pipisorry/article/details/
实战1:使用cookie登录哈工大ACM网站
获取网站登录地址
http://acm....
python中读取文件函数read()、readline()、readlines()的区别
read():从当前位置开始,读完所有的文件,返回字符串
&&& myfile = open(&test.txt&,&r&)
&&& myfile.read()
'hello\nworld!\nthi...
他的最新文章
讲师:王哲涵
讲师:韦玮
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)Python open()文件处理使用介绍
投稿:mdxy-dxy
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了Python open()文件处理使用介绍,需要的朋友可以参考下
1. open()语法
open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])
open函数有很多的参数,常用的是file,mode和encoding
file文件位置,需要加引号
mode文件打开模式,见下面3
buffering的可取值有0,1,&1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),&1表示初始化的buffer大小;
encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk;
errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。
newline可以取的值有None, \n, \r, ”, ‘\r\n',用于区分换行符,但是这个参数只对文本模式有效;
closefd的取值,是与传入的文件参数有关,默认情况下为True,传入的file参数为文件的文件名,取值为False的时候,file只能是文件描述符,什么是文件描述符,就是一个非负整数,在Unix内核的系统中,打开一个文件,便会返回一个文件描述符。
<span style="color: #. Python中file()与open()区别
两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open
<span style="color: #. 参数mode的基本取值
open for reading (default)
open for writing, truncating the file first
open for writing, appending to the end of the file if it exists
binary mode
text mode (default)
open a disk file for updating (reading and writing)
universal newline mode (for bac should not be used in new code)
r、w、a为打开文件的基本模式,对应着只读、只写、追加模式;
b、t、+、U这四个字符,与以上的文件打开模式组合使用,二进制模式,文本模式,读写模式、通用换行符,根据实际情况组合使用、
常见的mode取值组合
r或rt 默认模式,文本模式读
二进制文件
w或wt 文本模式写,打开前文件存储被清空
二进制写,文件存储同样被清空
追加模式,只能写在文件末尾
a+ 可读写模式,写只能写在文件末尾
w+ 可读写,与a+的区别是要清空文件内容
r+ 可读写,与a+的区别是可以写到文件任何位置
<span style="color: #. 测试
测试文件test.txt,内容如下:
Hello,Python
www.jb51.net
This is a test file
用一小段代码来测试写入文件直观的显示它们的不同
test = [ "test1\n", "test2\n", "test3\n" ]
f = open("test.txt", "a+")
#f.seek(0)
for l in test:
f.write(l)
a+、w+和r+模式的区别(测试后还原test.txt)
# cat test.txt
Hello, Python
www.jb51.net
This is a test file
# cat test.txt
在写入文件前,我们在上面那段代码中加上一句f.seek(0),用来定位写入文件写入位置(文件开头),直接覆盖字符数(注意\n也是一个字符)
# cat test.txt
This is a test file
注意:r+模式打开文件时,此文件必须存在,否则就会报错,‘r'模式也如此
&&& f = open('test.txt')
&&& f.read() #读取整个文件,字符串显示
'Hello,Python\nwww.jb51.net\nThis is a test file\n'
&&& f.read() #指针在文件末尾,不能再读取内容
&&& f = open('test.txt')
&&& f.readline() #一次读一行,指针在该行末尾
'Hello,Python\n'
&&& f.tell() #改行的字符长度
&&& f.readline()
'www.jb51.net\n'
&&& f.tell()
&&& f.readline()
'This is a test file\n'
&&& f.tell()
&&& f.readline()
&&& f.tell() #指针停在最后一行
&&& f = open('test.txt')
&&& f.readlines() #读取整个文件,以列表显示
['Hello,Python\n', 'www.jb51.net\n', 'This is a test file\n']
&&& f.tell() #指针在最后一行
&&& f = open('test.txt','w') #覆盖创建新文件
&&& f.write('Hello,Python!') #如果写入内容小于1024,会存在内存,否则需要刷新
&&& f.flush() #写入到硬盘
&&& f.close() #关闭文件会自动刷新
&&& f.write('Hello,Linuxeye') #关闭后,写失败,提示文件已经关闭
Traceback (most recent call last):
File "&stdin&", line 1, in &module&
ValueError: I/O operation on closed file
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Python文件处理 open()
1. open()语法 open(file[, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]]) open函数有很多的参数,常用的是file,mode和encoding file 文件位置,需要加引号 mode 文件打开模式,见下面3 buff
1. open()语法
open([, mode[, buffering[, encoding[, errors[, newline[, closefd=True]]]]]])
open函数有很多的参数,常用的是file,mode和encoding
file文件位置,需要加引号
mode文件打开模式,见下面3
buffering的可取值有0,1,&1三个,0代表buffer关闭(只适用于二进制模式),1代表line buffer(只适用于文本模式),&1表示初始化的buffer大小;
encoding表示的是返回的数据采用何种编码,一般采用utf8或者gbk;
errors的取值一般有strict,ignore,当取strict的时候,字符编码出现问题的时候,会报错,当取ignore的时候,编码出现问题,程序会忽略而过,继续执行下面的程序。
newline可以取的值有None, \n,& \r, &#39;&#39;, &#39;\r\n&#39;,用于区分换行符,但是这个参数只对文本模式有效;
closefd的取值,是与传入的文件参数有关,默认情况下为True,传入的file参数为文件的文件名,取值为False的时候,file只能是文件描述符,什么是文件描述符,就是一个非负整数,在Unix内核的系统中,打开一个文件,便会返回一个文件描述符。
2. 中file()与open()区别
两者都能够打开文件,对文件进行操作,也具有相似的用法和参数,但是,这两种文件打开方式有本质的区别,file为文件类,用file()来打开文件,相当于这是在构造文件类,而用open()打开文件,是用python的内建函数来操作,建议使用open
3. 参数mode的基本取值
&#39;r&#39;
open for reading (default)
&#39;w&#39;
open for writing, truning the file first
&#39;a&#39;
open for writing, appending to the end of the file if it exists
&#39;b&#39;
binary mode
&#39;t&#39;
text mode (default)
&#39;+&#39;
open a disk file for updating (reading and writing)
&#39;U&#39;
universal newline mode (for bac should not be used in new code)
r、w、a为打开文件的基本模式,对应着只读、只写、追加模式;
b、t、+、U这四个字符,与以上的文件打开模式组合使用,二进制模式,文本模式,读写模式、通用换行符,根据实际情况组合使用、
常见的mode取值组合
默认模式,文本模式读
二进制文件
w或wt 文本模式写,打开前文件存储被清空
二进制写,文件存储同样被清空
追加模式,只能写在文件末尾
可读写模式,写只能写在文件末尾
w+ 可读写,与a+的区别是要清空文件内容
r+ 可读写,与a+的区别是可以写到文件任何位置
测试文件test.txt,内容如下:
Hello,Python
This is a test file
用一小段代码来测试写入文件直观的显示它们的不同
test = [ &test1\n&, &test2\n&, &test3\n& ]
f = open(&test.txt&, &a+&)
#f.seek(0)
for l in test:
f.write(l)
a+、w+和r+模式的区别(测试后还原test.txt)
# cat test.txt
Hello, Python
This is a test file
# cat test.txt
在写入文件前,我们在上面那段代码中加上一句f.seek(0),用来定位写入文件写入位置(文件开头),直接覆盖字符数(注意\n也是一个字符)
# cat test.txt
This is a test file
注意:r+模式打开文件时,此文件必须存在,否则就会报错,&r&模式也如此
&&& f = open(&#39;test.txt&#39;)
&&& f.read() #读取整个文件,字符串显示
&#39;Hello,Python\\nThis is a test file\n&#39;
&&& f.read() #指针在文件末尾,不能再读取内容
&#39;&#39;
&&& f = open(&#39;test.txt&#39;)
&&& f.readline() #一次读一行,指针在该行末尾
&#39;Hello,Python\n&#39;
&&& f.tell() #改行的字符长度
&&& f.readline()
&#39;\n&#39;
&&& f.tell()
&&& f.readline()
&#39;This is a test file\n&#39;
&&& f.tell()
&&& f.readline()
&#39;&#39;
&&& f.tell() #指针停在最后一行
&&& f = open(&#39;test.txt&#39;)
&&& f.readlines() #读取整个文件,以列表显示
[&#39;Hello,Python\n&#39;, &#39;\n&#39;, &#39;This is a test file\n&#39;]
&&& f.tell() #指针在最后一行
&&& f = open(&#39;test.txt&#39;,&#39;w&#39;) #覆盖创建新文件
&&& f.write(&#39;Hello,Python!&#39;)
#如果写入内容小于1024,会存在内存,否则需要刷新
&&& f.flush() #写入到硬盘
&&& f.close() #关闭文件会自动刷新
&&& f.write(&#39;Hello,eye&#39;) #关闭后,写失败,提示文件已经关闭
Traceback (most recent call last):
File &&stdin&&, line 1, in &module&
ValueError: I/O operation on closed file
原文:/365.html
转载请保留固定链接:
------分隔线----------------------------
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
超A LD(露达琳)?高仿奢侈品?Via Spiga?奢侈品原单包?++原单??Wei信:LoveMeJck
领红包?太阳城娱乐城 送88元现金?金沙娱乐城Sands 领取QQ
运算符 描述 示例 文件比较运算符 -efilename 如果filename存在,则...
5月3日,图像处理软件ImageMagick就被公布出一个严重的0day漏洞(...
记录一个rabbitmq启动脚本,修改部分参数即可用。 vi /etc/init.d/...
Golang的主要 设计目标之一就是面向大规模后端服务程序,网络通...
功能: 自动检测是否有尚未分区的数据盘,格式化新的数据盘并...
#!/usr/bin/env python# -*- coding:utf-8 -*-该计算器思路: 1、递归寻找表...

我要回帖

更多关于 python open readline 的文章

 

随机推荐