Python的open函数
Python的open方法用来打开一个文件。第一个參数是文件的位置和文件名称。第二个參数是读写模式。这里我们採用w模式,也就是写模式。在这样的模式下,文件原有的内容将会被删除。
#to write
testFile = open('cainiao.txt','w')
#error testFile.write(u'菜鸟写Python!')
#写入一个字符串
testFile.write('菜鸟写Python!')
#字符串元组
codeStr = ('<div>','<p>','全然没有必要啊!
','
','
')
testFile.write('\n\n')
#将字符串元组按行写入文件
testFile.writelines(codeStr)
#关闭文件。
testFile.close()向文件加入内容
在open的时候制定'a'即为(append)模式,在这样的模式下,文件的原有内容不会消失,新写入的内容会自己主动被加入到文件的末尾。
#to append
testFile = open('cainiao.txt','a')
testFile.write('\n\n')
testFile.close()读文件内容
在open的时候制定'r'即为读取模式。使用
#to read
testFile = open('cainiao.txt','r')
testStr = testFile.readline()
print testStr
testStr = testFile.read()
print testStr
testFile.close()在文件里存储和恢复Python对象
使用Python的pickle模块。能够将Python对象直接存储在文件里,而且能够再以后须要的时候又一次恢复到内容中。
testFile = open('pickle.txt','w')
#and import pickle
import pickle
testDict = {'name':'Chen Zhe','gender':'male'}
pickle.dump(testDict,testFile)
testFile.close()
testFile = open('pickle.txt','r')
print pickle.load(testFile)
testFile.close()二进制模式
调用open函数的时候。在模式的字符串中使用加入一个b即为二进制模式。
#binary mode
testFile = open('cainiao.txt','wb')
#where wb means write and in binary
import struct
bytes = struct.pack('>i4sh',100,'string',250)
testFile.write(bytes)
testFile.close()
读取二进制文件。
testFile = open('cainiao.txt','rb')
data = testFile.read()
values = struct.unpack('>i4sh',data)
print values1.open使用open打开文件后一定要记得调用文件对象的close()方法。
比方能够用try/finally语句来确保最后能关闭文件。
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
注:不能把open语句放在try块里。由于当打开文件出现异常时,文件对象file_object无法运行close()方法。
2.读文件读文本文件
#第二个參数默觉得r
input = open('data')
读二进制文件
读取全部内容
try:
all_the_text = file_object.read( )
finally:
file_object.close( )
读固定字节
try:
while True:
chunk = file_object.read(100)
if not chunk:
break
do_something_with(chunk)
finally:
file_object.close( )
读每行
)
假设文件是文本文件,还能够直接遍历文件对象获取每行:
process line
3.写文件写文本文件
写二进制文件
追加写文件
写数据
file_object.write(all_the_text)
file_object.close( )
写入多行
注意。调用writelines写入多行在性能上会比使用write一次性写入要高。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rU 或 Ua 以读方式打开, 同一时候提供通用换行符支持 (PEP 278)
w 以写方式打开 (必要时清空)
a 以追加模式打开 (从 EOF 開始, 必要时创建新文件)
r 以读写模式打开
w 以读写模式打开 (參见 w )
a 以读写模式打开 (參见 a )
rb 以二进制读模式打开
wb 以二进制写模式打开 (參见 w )
ab 以二进制追加模式打开 (參见 a )
rb 以二进制读写模式打开 (參见 r )
wb 以二进制读写模式打开 (參见 w )
ab 以二进制读写模式打开 (參见 a )
a. Python 2.3 中新增
http://www.360doc.com/content/14/0425/12/16044571_372066859.shtml
Python的open函数的更多相关文章
- Python 动态创建函数【转】
知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...
- python中的函数
Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...
- python高级之函数
python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多 ...
- python内置函数
python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...
- Python基础三. 函数、lambda、filter、map、reduce
一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...
- Python 常用string函数
Python 常用string函数 字符串中字符大小写的变换 1. str.lower() //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...
- python 内置函数和函数装饰器
python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...
- Python 之匿名函数和偏函数
匿名函数与偏函数 匿名函数 Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下: lambda arg1, arg2, … : e ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- Python中用format函数格式化字符串的用法
这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下 自python2. ...
随机推荐
- 10.2(java学习笔记)JDBC事务简述
一.事务 事务是指作为一系列操作组成的一个整体,该整体只有两种状态,要么全部执行,要么全部不执行. 当组成这个事务的所有语句都执行成功则该事务执行,只要有一条语句执行失败则该事务不执行. 假设这里有一 ...
- 设置MySQL数据库名不区分大小写
Linux下的MySQL默认是区分表名大小写的,通过如下设置,可以让MySQL不区分表名大小写: 1.用root登录,修改 /etc/my.cnf: 2.在[mysqld]节点下,加入一行: lowe ...
- Easyui的numberbox无法输入以0开头的数字编号(转载)
1.问题 项目中碰到这样一个问题,Easyui的numberbox在输入数字编号的时候不能以0开头 在我输入以0开头的数字编号后,离开输入框的时候,那个前缀0就自动去掉了. 接下来,我们查看API说明 ...
- PHP中使用XMLRPC
PHP中简单使用XMLRPC,服务器端和客户端都为PHP代码实现. 这里使用的XML-RPC完整包括client和server的XML-RPC实现. 客户端和服务器端分别由 xmlrpc_client ...
- mysql 初始化报错 /usr/local/mysql/bin/mysqld:error while loading shared libraries :libaio.so.1
安装mysql在初始化的时候,出现/usr/local/mysql/bin/mysqld:error while loading shared libraries:libaio.so.1 :canno ...
- 设计工具-MindManager(思维导图)
1,百度百科 http://baike.baidu.com/view/30054.htm?from_id=7153629&type=syn&fromtitle=MindManager& ...
- pip install py-stringsimjoin error: INCLUDE environment variable is empty
在用pip install py-stringsimjoin的时候报错error: INCLUDE environment variable is empty,后来在网上搜索下了说是需要下载安装VCF ...
- android中实现内容搜索
在编写android搜索代码的时候,怎样去实现搜索功能,考虑中的有两种: 自己定义搜索方法: 1.自己定义搜索输入框,搜索图标,搜索button 2.自己定义语音输入方法 3.自己定义经常使用热词内容 ...
- Druid对比Hadoop
Druid对比Hadoop Hadoop 向世界证明, 花费很少的钱实现典型的解决方案, 将数据保存在一般的商用机器的数据仓库里是可行的. 当人们将自己的数据保存在Hadoop, 他们发现两个问题 ...
- 【日志处理、监控ELK、Kafka、Flume等相关资料】
服务介绍 随着实时分析技术的发展及成本的降低,用户已经不仅仅满足于离线分析.目前我们服务的用户包括微博,微盘,云存储,弹性计算平台等十多个部门的多个产品的日志搜索分析业务,每天处理约32亿条(2TB) ...