打开一个文件并向其写入内容

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语句来确保最后能关闭文件。

file_object = open('thefile.txt')

try:

all_the_text = file_object.read( ) 

finally:

file_object.close( )

注:不能把open语句放在try块里。由于当打开文件出现异常时,文件对象file_object无法运行close()方法。

2.读文件读文本文件

input = open('data', 'r')

#第二个參数默觉得r

input = open('data')

读二进制文件

input = open('data', 'rb')

读取全部内容

file_object = open('thefile.txt')

try:

 all_the_text = file_object.read( )

finally:

 file_object.close( )

读固定字节

file_object = open('abinfile', 'rb')

try:

 while True:

 chunk = file_object.read(100)

 if not chunk:

 break

 do_something_with(chunk)

finally:

 file_object.close( )

读每行

list_of_all_the_lines = file_object.readlines(
)

假设文件是文本文件,还能够直接遍历文件对象获取每行:

for line in file_object:

 process line

3.写文件写文本文件

output = open('data', 'w')

写二进制文件

output = open('data', 'wb')

追加写文件

output = open('data', 'w ')

写数据

file_object = open('thefile.txt', 'w')

file_object.write(all_the_text)

file_object.close( )

写入多行

file_object.writelines(list_of_text_strings)

注意。调用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函数的更多相关文章

  1. Python 动态创建函数【转】

    知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...

  2. python中的函数

    Python 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你也 ...

  3. python高级之函数

    python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多 ...

  4. python内置函数

    python内置函数 官方文档:点击 在这里我只列举一些常见的内置函数用法 1.abs()[求数字的绝对值] >>> abs(-13) 13 2.all() 判断所有集合元素都为真的 ...

  5. Python基础三. 函数、lambda、filter、map、reduce

    一.概述 函数, 就是用一些语句组织起来实现一组特定的功能, 用来重复调用. 函数的作用及意义:最大化的重用代码和最小化的代码冗余以及对流程的分解. Python中有哪些函数: 内建的函数 第三方模块 ...

  6. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  7. python 内置函数和函数装饰器

    python内置函数 1.数学相关 abs(x) 取x绝对值 divmode(x,y) 取x除以y的商和余数,常用做分页,返回商和余数组成一个元组 pow(x,y[,z]) 取x的y次方 ,等同于x ...

  8. Python 之匿名函数和偏函数

    匿名函数与偏函数 匿名函数 Python允许使用lambda关键字创造匿名函数,lambda表达式用于定义匿名函数,它返回可调用的函数对象,语法如下: lambda arg1, arg2, … : e ...

  9. 用一个简单的例子来理解python高阶函数

    ============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...

  10. Python中用format函数格式化字符串的用法

    这篇文章主要介绍了Python中用format函数格式化字符串的用法,格式化字符串是Python学习当中的基础知识,本文主要针对Python2.7.x版本,需要的朋友可以参考下   自python2. ...

随机推荐

  1. Scala实战高手****第17课:Scala并发编程实战及Spark源码阅读

    package com.wanji.scala.test import javax.swing.text.AbstractDocument.Content import scala.actors.Ac ...

  2. 数据挖掘经典算法——K-means算法

    算法描述 K-means算法是一种被广泛使用的基于划分的聚类算法,目的是将n个对象会分成k个簇.算法的具体描述如下: 随机选取k个对象作为簇中心: Do 计算所有对象到这k个簇中心的距离,将距离最近的 ...

  3. 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction

    今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...

  4. Android Design Support Library介绍之:环境搭建

    在2015年的GoogleIO大会上.具体的Material Design设计规范出炉了.全新的Android Design Support Library 格.更让人开心的是,这些很酷的风格能够通过 ...

  5. iOS:扩展UIColor,支持十六进制颜色设置

    来自转载:http://my.oschina.net/leejan97/blog/307491 摘要: 可以直接使用十六进制设置控件的颜色,而不必通过除以255.0进行转换 #define UICol ...

  6. web应用程序指识别中的指纹收集

    web应用程序指纹识别是入侵前的关键步骤,假设通过指纹识别能确定web应用程序的名称及版本号.下一步就可以在网上搜索已公开的漏洞.或网上搜到其源码然后进行白盒的漏洞挖掘. 指纹识别的核心原理是通过正則 ...

  7. 04-常见内存错误以及valgrind使用

    04-常见内存错误以及valgrind使用 代码段: 仅仅读数据,因此对这一部分的数据.试图写仅仅读数据,这个在编译的时候基本上能够检測. 数据段/BSS段: 未初始化直接訪问,即使没有显示初始化,仍 ...

  8. POJ 2392 Space Elevator(贪心+多重背包)

    POJ 2392 Space Elevator(贪心+多重背包) http://poj.org/problem?id=2392 题意: 题意:给定n种积木.每种积木都有一个高度h[i],一个数量num ...

  9. PHP-手册阅读

    配置选项: html_errors: 无意义的 HTML 标记符会使得出错信息很凌乱, 所以在外壳下阅读报错信息是十分困难的, 因此将该选项的默认值改为 FALSE implicit_flush: 在 ...

  10. outline轮廓线在不同CSS样式下的表现

    outline轮廓线在不同CSS样式下的表现 CSS 去除浏览器默认 轮廓外框 在默认情况下,点击 a 标签,input,或者添加click事件的时候,浏览器留下一个轮廓外框(chrome之下为蓝色) ...