Python中的文件和流
来源:互联网 发布:精业本草官方淘宝店 编辑:程序博客网 时间:2024/05/21 12:46
打开文件
open(name[,mode[,buffering]])
文件名是唯一的强制参数。
注意,如果文件不存在,会抛一个异常。
文件模式
open的第二个参数是文件模式,如下:
缓冲
open的第三个参数控制着文件的缓冲。如果为0(或False),就是无缓冲的;如果是大于1的数字代表缓冲区的大小(字节),任何负数代表使用默认的缓冲区大小。
读写示例
>>> f = open('somefile.txt','w')>>> f.write('Hello, ')>>> f.write('World!')>>> f.close()>>> >>> f = open('somefile.txt','r')>>> f.read(4)'Hell'>>> f.read()'o, World!'
管式输出
在Linux中:
cat somefile.txt | python somescript.py Wordcount: 12
somescript.py
# somescript.pyimport systext = sys.stdin.read()words = text.split()wordcount = len(words)print 'Wordcount:',wordcount
读写行
使用file.readline()
读取单独的一行。readlines()读取文件中的所有行并将其作为列表返回。
关闭文件
可以再finally子句中关闭文件;
也可以通过with语句来打开文件,且不需要显示关闭文件:
with open("somefile.txt") as somefile: do_something(somefile)
对文件内容进行迭代
定义一个处理方法:
>>> def process(str):... print 'Processing:',str
按字节(字符)处理
>>> f = open("somescript.py")>>> while True:... char = f.read(1)... if not char: break... process(char)>>> f.close()
按行操作
很简单,把上面的read(1)方法换成readline()方法即可。
或者使用readlines迭代行:
f = open(filename)for line in f.readlines(): process(line)f.close()
使用fileinput实现惰性行迭代
当需要处理非常大的文件时,需要使用这种方法。它每次读取实际需要的文件部分。
import fileinputfor line in fileinput.input(filename): process(line)
文件迭代器
在Python中,文件时可迭代的,可以在for循环中使用它们:
f = open(filename) #默认是可读的for line in f: process(line)f.close()
阅读全文
0 0
- Python中的文件和流
- Python中的文件和目录操作
- Python中的文件和目录操作
- python 搜索和替换文件中的文本
- Python中的文件和目录操作
- Python中的文件和目录操作
- Python中的文件和目录操作
- Python中的文件和目录操作实现
- python 文件和流
- python文件和流
- python的文件和流
- Python中的文件管理
- python 中的ymal文件
- Python 中的Pyc文件
- python中的文件读写
- python中的文件操作
- Python中的文件输入输出
- Python中的文件操作
- MQTT协议
- 机器学习(31)之频繁集挖掘FP Tree详解
- 生产环境批量自动安装系统
- 解决Eclipse 64位启动时,报jvm.dll错
- 一维数组的定义方式
- Python中的文件和流
- Java集合框架
- Pandans常用语法记录
- MS7024:TTL转CVBS/S-Video芯片方案
- 微程序控制器之微程序控制器构成
- 房地产虚拟现实系统--天悦湖畔iPad售楼VR系统
- 配置Git的SSH协议笔记
- list合并
- 【机器学习】Sklearn 调试模型