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

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

时间: 2024-10-10 04:27:35

Python的open函数的相关文章

如何理解Python的Main函数?

作者:蟒蛇帝国(ID:Pythondg) 难度:初级 演示环境:OS:ubuntu 16.04Python:3.6 编写 Python 代码的时候我们经常看到下面这条语句.貌似是 Python 的 Main 函数.那它具体是什么意思呢. if __name__ == '__main__':     print('hello world') 首先 Python 里有两个概念, 源码文件: ~/code_house/py_dev$ tree . ├── file1.py ├── file2.py └

python 集合、函数

*集合: set:持有一系列元素,但是set元素没有重复,并且无序 如何创建:set()并传入一个list,list的元素将作为set 的元素. s=set(['a','b','c']) print(s)    //set(['a', 'c', 'b']) print(len(s))  //3 如何访问:用in操作符判断有没有 =([,,,]) ( )//True set的特点: 1.内部结构和字典很像,唯一区别是不存储value =([,,,,,,]) x1=x2=x1 :     () (x

python基础教程函数参数

python里有很多的内置函数给我们的工作带来了很多发便利,在我们实现某些功能或者优化代码的时候,可以自己定义一个函数,同时我们在定义一个类的时候也会用到函数的一些知识去构造一个方法,这里就涉及到一些关于函数的基础知识和函数传参的知识. 一.函数的相关介绍 1.函数定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 函数特性: 减少重复代码 使程序变的可扩展 使程序变得易维护 2.函数的定义示例 定义一个函数要使用def语句,依次写出函数名.括

Python的功能函数如何使用?

Python开发中的函数提供了有组织的,可重用的代码来执行一组操作.函数简化了编码过程,防止冗余逻辑,并使代码更容易遵循. 定义和调用简单函数 使用 def 语句来定义Python中的函数最常见的方式. 这种说法是所谓的单条复合语句 的语法如下: def function_name(parameters): statement(s) function_name 被称为 标识符 的功能. 由于函数定义是一个可执行语句其执行 绑定 功能名称可以在以后使用的标识符被称为函数对象. parameters

python基础——sorted()函数

python基础——sorted()函数 排序算法 排序也是在程序中经常用到的算法.无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小.如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来. Python内置的sorted()函数就可以对list进行排序: >>> sorted([36, 5, -12, 9, -21]) [-21, -12, 5, 9, 36] 此外,sorted()函数也是一个

python内置函数proprety()

property 可以将python定义的函数"当做"属性访问,从而提供更加友好访问方式,但是有时候setter/getter也是需要的 假设定义了一个类Cls,该类必须继承自object类,有一私有变量__x 1. 第一种使用属性的方法: class Cls(object):     def __init__(self):         self.__x = None           def getx(self):         return self.__x        

Python的main函数

初学Python,写C++时,习惯写上main函数,作为程序入口, 但是,在写Python时,只能看见 __name__ == "__main__", 于是,探个究竟,Python程序从哪开始?啧啧,虽然它多数是脚本~ 转自下面链接的一段话: http://blog.163.com/benben_long/blog/static/199458243201212123099/ if __name__=="__main__":     print("main&

Python内置函数_数学运算类

本文和大家分享的主要是python内置函数数据运算类相关内容,一起来看看吧,希望对大家学习python 有所帮助. abs abs(x) 求绝对值 · X可以是整型,也可以是复数 · 若X是复数,则返回复数的模 >>> abs(-1)1>>> abs(-3+4j)5.0>>> bin bin(x) 将整数x转换为二进制字符串 >>> bin(2)'0b10'>>> bin(3)'0b11' bool bool([x]

python内置函数4-eval()

Help on built-in function eval in module __builtin__: eval(...) eval(source[, globals[, locals]]) -> value Evaluate the source in the context of globals and locals. The source may be a string representing a Python expression or a code object as retur

Python之编写函数

Python之编写函数 在Python中,定义一个函数要使用 def 语句,依次写出函数名.括号.括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回. 我们以自定义一个求绝对值的 my_abs 函数为例: def my_abs(x): if x >= 0: return x else: return -x 请注意,函数体内部的语句在执行时,一旦执行到return时,函数就执行完毕,并将结果返回.因此,函数内部通过条件判断和循环可以实现非常复杂的逻辑. 如果没