Python 文件和流的简单示例
对python这个高级语言感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!
1、打开文件open(name[,mode[,buffering]]) open函数使用一个文件名作为其唯一的一个强制参数,然后返回一个文件对象。模式(mode)和缓冲区(buffering)是可选的。 模式: 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式,添加到其他模式中使用 '+' 读/写模式,添加到其他模式中使用 '+'参数可以用来任何模式后,指明读和写都是可以的。'b'模式改变处理文件的方法。 二进制模式和文本模式的区别:在使用二进制模式时,python会原样地给出文件中的内容,但文本模式下则不一定。python会在文本模式下做一些转换:当在windows下用文本模式读取文件时,python会将rn转换成n,相反,当在windows下用文本模式写文件时,会把n转换成rn。 缓冲: 如果参数为0,I/O就是无缓冲,所有的读写操作直接针对硬盘。如果是1,I/O就用内存来代替硬盘,是程序更快,使用flush或close时才把内容写入硬盘。 2、读和写f = open() f.read(n) 读取n个字节 f.write(str) f.close() 3、管式输出使用管道可以在一个命令的后面续写其他多个命令,管道符号将一个命令的标准输出和下一个命令的标准输入连在一起。 $ cat test.txt | python somescript.py 文件流随机访问函数seek(offset),把当前位置移动到offset定义的位置。 4、读写行file.readline(n)当n为空是,读取单独一行,并读取文件换行符,当n为非负值时读取文件的前n个字符。 file.readlines()读取一个文件中的所有行,并以列表的返回。 file.writeline()没有此函数。 file.wirtelines()将一个字符串列表写入到字符串文件中。 5、如果想确保文件被关闭了,那么应该使用try/finally语句,并且在finally字句中调用close()方法。try: file = open() #操作文件 finaly: file.close() with语句可以打开文件并将其赋值到变量上: with open() as somefile: do_someting(somefile) 6、对文件内容进行迭代6.1 按字节处理,在循环里做如下操作 f.read(1) 6.2 按行处理,在循环里做如下操作 f.readline() 6.3 处理整个文件 f.read() 将文件当做一个字符串来获取 f.readlines() 将文件读入到一个字符串列表 7、使用fileinput实现懒惰行迭代懒惰行迭代的原因:在读取非常大的文件,readlines会占用太多的内存,而懒惰行迭代只是读取文件中实际需要的部分。 import fileinput for line in fileinput.input(filename): process(line) 8、文件迭代器文件对象是可以按照行进行迭代的。 f = open(filename) for line in f: process(line) f.close() 可以对文件迭代器执行和普通迭代器相同的操作:list(open(filename)) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |