1. 读取文本文件
代码:

  1. f = open('test.txt', 'r')
  2. print f.read()
  3. f.seek(0)
  4. print f.read(14)
  5. f.seek(0)
  6. print f.readline()
  7. print f.readline()
  8. f.seek(0)
  9. print f.readlines()
  10. f.seek(0)
  11. for line in f:
  12. print line,
  13. f.close()
 
运行结果:
root@he-desktop:~/python/example# python read_txt.py 
第一行
第二行
第三行
 
第一行
第一行
 
第二行
 
['\xe7\xac\xac\xe4\xb8\x80\xe8\xa1\x8c\n', '\xe7\xac\xac\xe4\xba\x8c\xe8\xa1\x8c\n', '\xe7\xac\xac\xe4\xb8\x89\xe8\xa1\x8c\n']
第一行
第二行
第三行
 
open的第二个参数:
  • r,读取模式
  • w,写入模式
  • a,追加模式
  • r+,读写模式
read()表示读取到文件尾,size表示读取大小。
seek(0)表示跳到文件开始位置。
readline()逐行读取文本文件。
readlines()读取所有行到列表中,通过for循环可以读出数据。
close()关闭文件。
 
2. 写入文本文件
代码:
  1. f = open('test.txt', 'r+')
  2. f.truncate()
  3. f.write('0123456789abcd')
  4. f.seek(3)
  5. print f.read(1)
  6. print f.read(2)
  7. print f.tell()
  8. f.seek(3, 1)
  9. print f.read(1)
  10. f.seek(-3, 2)
  11. print f.read(1)
  12. f.close()
 
运行结果:
root@he-desktop:~/python/example# python write_txt.py 
3
45
6
9
b
 
truncate()表示清空文件
write()写入文本
seek(3)定位到第4个元素前,0表示文件开始,也就是第1个元素前。
seek(3, 1)第二个参数默认是0,表示从文件开始处读取;1表示从当前位置开始计数;2表示从文件最后开始。
read(1)读取一个字节,指针会根据读取的大小移动相应的位置。
tell()取得当前指针的位置。
 
3. 读取文件信息
  1. # coding: utf-8
  2. f = open('test.txt')
  3. print '文件名:', f.name
  4. print '是否处于关闭状态:', f.closed
  5. print '打开的模式:', f.mode
 
运行结果:
root@he-desktop:~/python/example# python read_info.py 
文件名: test.txt
是否处于关闭状态: False
打开的模式: r
 
 

Python逐行读取文件内容

代码来源: Python参考手册

f = open("foo.txt")             # 返回一个文件对象 line = f.readline()             # 调用文件的 readline()方法 while line:     print line,                 # 后面跟 ',' 将忽略换行符     # print(line, end = '')   # 在 Python 3中使用     line = f.readline()
f.close()

也可以写成以下更简洁的形式

for line in open("foo.txt"):     print line,

更详细的文件按行读取操作可以参考:http://www.cnblogs.com/xuxn/archive/2011/07/27/read-a-file-with-python.html

1. 最基本的读文件方法: ? # File: readline-example-1.py   file = open("sample.txt")   while 1:     line = file.readline()     if not line:         break     pass # do something   一行一行得从文件读数据,显然比较慢;不过很省内存。   在我的机器上读10M的sample.txt文件,每秒大约读32000行 2. 用fileinput模块 ? # File: readline-example-2.py   import fileinput   for line in fileinput.input("sample.txt"):     pass   写法简单一些,不过测试以后发现每秒只能读13000行数据,效率比上一种方法慢了两倍多…… 3. 带缓存的文件读取 ? # File: readline-example-3.py   file = open("sample.txt")   while 1:     lines = file.readlines(100000)     if not lines:         break     for line in lines:         pass # do something   这个方法真的更好吗?事实证明,用同样的数据测试,它每秒可以读96900行数据!效率是第一种方法的3倍,第二种方法的7倍! ————————————————————————————————————————————————————————————   在Python 2.2以后,我们可以直接对一个file对象使用for循环读每行数据: ? # File: readline-example-5.py   file = open("sample.txt")   for line in file:     pass # do something   而在Python 2.1里,你只能用xreadlines迭代器来实现: ? # File: readline-example-4.py   file = open("sample.txt")   for line in file.xreadlines():     pass # do something   翻译自:http://hi.baidu.com/netspider_2007/blog/item/870354c753e4a71c9c163d64.html

python读取文本文件的更多相关文章

  1. python读取文本文件数据

    本文要点刚要: (一)读文本文件格式的数据函数:read_csv,read_table 1.读不同分隔符的文本文件,用参数sep 2.读无字段名(表头)的文本文件 ,用参数names 3.为文本文件制 ...

  2. python 读写文本文件

    本人最近新学python ,用到文本文件的读取,经过一番研究,从网上查找资料,经过测试,总结了一下读取文本文件的方法. 1.在读取文本文件的时无非有两种方法: a.f=open('filename', ...

  3. Python读取SQLite文件数据

    近日在做项目时,意外听说有一种SQLite的数据库,相比自己之前使用的SQL Service甚是轻便,在对数据完整性.并发性要求不高的场景下可以尝试! 1.SQLite简介: SQLite是一个进程内 ...

  4. 如何使用Python读取大文件

    背景 最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File Reading 的方法,本文将介绍这两种读取方法. 准备工作 ...

  5. python读取文件首行和最后一行

    python读取文件最后一行两种方式 1)常规方法:从前往后依次读取 步骤:open打开文件. 读取文件,把文件所有行读入内存. 遍历所有行,提取指定行的数据. 优点:简单,方便 缺点:当文件大了以后 ...

  6. 利用Python读取外部数据文件

      不论是数据分析,数据可视化,还是数据挖掘,一切的一切全都是以数据作为最基础的元素.利用Python进行数据分析,同样最重要的一步就是如何将数据导入到Python中,然后才可以实现后面的数据分析.数 ...

  7. python 读取配置文件总是报错 configparser.NoSectionError: No section:

    本文为作者原创,禁止转载,违者必究法律责任!!! python 读取配置文件总是报错 configparser.NoSectionError: No section: 无论是 python2的版本,还 ...

  8. 【Python】Python 读取csv的某行或某列数据

    Python 读取csv的某行 转载 2016年08月30日 21:01:44 标签: python / csv / 数据   站长用Python写了一个可以提取csv任一列的代码,欢迎使用.Gith ...

  9. python读取txt、csv和excel文件

    一.python读取txt文件:(思路:先打开文件,读取文件,最后用for循环输出内容) fp = open('test.txt','r') lines = fp.readlines() fp.clo ...

随机推荐

  1. Mac eclipse配置Python环境

    1.给Eclipse安装PyDev插件 第一次启动会让选择一个工作空间,按缺省设置,勾选一下不再提醒,就可以了.在Help菜单中,选择Install New Software···, 选择Add按钮, ...

  2. android studio使用部分报错处理

    1.android studio 导入项目时Error:SSL peer shut down incorrectly 今天导入一个项目到studio,显示在下载一个一个1.1.0-rc4的东西. 过了 ...

  3. AngularJS 相关小问题解决方案合集

    1  解决 Select选择框遍历时,出现一个空白选项: <select style="width: 20%;margin-left: 5px;height: 31px;" ...

  4. vs使用

    1.控制dll是否生成到本地,如图,右击dll,选择属性,设置复制到本地为true即可

  5. Foreach 原理

    public class Person { private string[] friends = { "asf", "ewrqwe", "ddd&qu ...

  6. MongoDB高可用集群配置的方案

    >>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...

  7. Android 如何判断一个应用在运行(转)

    Android 如何判断一个应用在运行  在一个应用中,或一个Service .Receiver中判断一个应用是否正在运行,以便进行一些相关的处理. 这个时候我们需要得到一个ActivityManag ...

  8. sizeof(转载)

    原文地址:http://blog.sina.com.cn/s/blog_5da08c340100bmwu.html 转载至:http://www.cnblogs.com/wangkangluo1/ar ...

  9. linux中redis安装

    一.登录redis官网下载redis-3.0.7.tar.gz 二.通过ftp工具上传至自己的服务器中 三.tar -zxvf redis-3.0.7.tar.gz解压 四.cd redis-3.0. ...

  10. java 聊天猜拳机器人

    2016-12-06本随笔记录第一次制作经过,感谢各位大神指导. 工具:eclipse;JAVA JDK; 语言:java 时间:2016.11.23 作者:潇洒鸿图 地址:http://www.cn ...