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. iOSIPV6简单测试环境搭建

    应苹果官方要求,iOS应用必须适配IPV6才能通过审核,这里分享一个简单的ipv6测试方法 一.工具原料 1.1 Mac电脑一台 1.2 iPhone手机两部 1.3 数据线一根 二.步骤方法 2.1 ...

  2. Vs2012 创建项目失败 未找到与约束ContractName

    刚开始使用vs2012的时候,创建项目失败,后来找到原因 ,是KB2840642V2的原因,于是 卸载之.vs正常

  3. Tensorflow- tensor的列操作

    几个point [:,i]类似python直接的index 列操作是可行的, 注意i不能是variable,如果是使用slice slice操作会保持和输入tensor一样的shape 返回 而1对应 ...

  4. 使用Nito.AsyncEx实现异步锁(转)

    转载地址:http://www.cnblogs.com/1zhk/p/5269279.html Lock是常用的同步锁,但是我们无法在Lock的内部实现异步调用,比如我们无法使用await. 以下面的 ...

  5. AOJ 0558 Cheese【BFS】

    在H * W的地图上有N个奶酪工厂,分别生产硬度为1-N的奶酪.有一只吃货老鼠准备从老鼠洞出发吃遍每一个工厂的奶酪.老鼠有一个体力值,初始时为1,每吃一个工厂的奶酪体力值增加1(每个工厂只能吃一次), ...

  6. 自用VS Code 上的Markdown 编辑器css

    目标效果如下: 主题使用:Markdown Yellow 主题[https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme- ...

  7. C++Primer学习笔记(1)

    序: 为了重新扎扎实实地再深入学习一遍C++,我选择了C++ Primer这本经典.又开了这个系列的随笔,用于记录学习过程中遇到的一些有趣的问题和心得.同时,也是想通过写随笔的方式督促自己不断进步,争 ...

  8. Python for Infomatics 第14章 数据库和SQL应用三(译)

    14.5 SQL 总结 到目前为止,我们在Python示例程序中使用了SQL,并且涉及了许多SQL基础.在这一小节中,我们特别审视SQL语言,并对其语法进行回顾. 虽然有很多不同的数据库供应商,但因S ...

  9. python os.path模块

    os.path.abspath(path) #返回绝对路径 os.path.basename(path) #返回文件名 os.path.commonprefix(list) #返回list(多个路径) ...

  10. BZOJ4596: [Shoi2016]黑暗前的幻想乡

    Description 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖 怪涌入了幻想乡,扰乱了幻想乡昔日的秩序.但是幻想乡的建制派妖怪(人类) 博丽灵梦和八云紫等人整日高谈所有妖怪 ...