python file-like Object:文件读写

官网对文件操作解释:

open(filemode='r'buffering=-1encoding=Noneerrors=Nonenewline=Noneclosefd=Trueopener=None)

Character Meaning
'r' open for reading (default)
'w' open for writing, truncating the file first
'x' open for exclusive creation, failing if the file already exists
'a' open for writing, appending to the end of the file if it exists
'b' binary mode
't' text mode (default)
'+' open a disk file for updating (reading and writing)
'U' universal newlines mode (deprecated)

The default mode is 'r' (open for reading text, synonym of 'rt'). For binary read-write access, the mode 'w+b' opens and truncates the file to 0 bytes. 'r+b' opens the file without truncation.

https://docs.python.org/3/library/functions.html#open

文本读写操作:open(), close(), read(), readlines(),

一、普通操作,open(),read(),close()

#!/usr/bin/python
#coding=utf-8

import logging

try:
	f = open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r')
	print f.read();
	print 'read'
except Exception as e:
	logging.exception(e)
	print 'error'
	raise 
finally:
	if f:
		f.close()
		print 'OK'	

运行结果:

#!/usr/bin/python
# -*- coding: utf-8 -*-

class Dict(dict):

    def __init__(self, **kw):
        super().__init__(**kw)

    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            raise AttributeError(r"'Dict' object has no attribute '%s'" % key)

    def __setattr__(self, key, value):
        self[key] = value

read
OK

二、read()完后自动close()

with open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r') as f:    
	print (f.read())

运行结果:

#!/usr/bin/python
# -*- coding: utf-8 -*-

class Dict(dict):

    def __init__(self, **kw):
        super().__init__(**kw)

    def __getattr__(self, key):
        try:
            return self[key]
        except KeyError:
            raise AttributeError(r"'Dict' object has no attribute '%s'" % key)

    def __setattr__(self, key, value):
        self[key] = value

三、为避免read()未知容量的大文件,保险起见用readlines().

print '------------------------------------'
print '-----------------------------------'
f = open('/home/seeing-zynq/Documents/Temp/Test/mydict.py', 'r')
for line in f.readlines():
    print(line.strip())  ##strip会将前面首字符前的空格去掉,造成行句没有缩进
f.close()
print 'over'

运行结果:

------------------------------------
-----------------------------------
#!/usr/bin/python
# -*- coding: utf-8 -*-

class Dict(dict):

def __init__(self, **kw):
super().__init__(**kw)

def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Dict' object has no attribute '%s'" % key)

def __setattr__(self, key, value):
self[key] = value

over

四、读二进制文件,如图片,视频等

>>> f = open('/Users/michael/test.jpg', 'rb')
>>> f.read()
b'\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...' # 十六进制表示的字节

五、write()

with open('/home/seeing-zynq/Documents/Temp/IO/a.txt', 'w') as f:   
    f.write('haha')

with open('/home/seeing-zynq/Documents/Temp/IO/a.txt', 'r') as f:  
    print (f.read())
"file.py" 37L, 758C wri

运行结果:

haha

原文地址:http://blog.51cto.com/13502993/2149129

时间: 2024-11-05 23:22:18

python file-like Object:文件读写的相关文章

Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作. 由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,就存在速度严重不匹配的问题.举个例子来说,比如要把100M的数据写入磁盘,CPU输出100M的数据只需要0.01秒,可是磁盘要接收这10

转载-Python学习笔记之文件读写

Python 文件读写 Python内置了读写文件的函数,用法和C是兼容的.本节介绍内容大致有:文件的打开/关闭.文件对象.文件的读写等. 本章节仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题:其他文件的读写及编码相关详见专题的博文. open()   close()     with open(...) as ... 看以下示例就能了解 Python 的 open() 及 close() 函数.这边调用 read()方法可以一次读取文件的全部内容,Python把

python 简单的txt文件读写

1 读取txt文件.跟c相比,python的文件读写简直是方便的可怕 首先是读取文件 首先获得文件名称,然后通过 open函数打开文件,通过for循环逐行读出文件内容 #!python file by ninahao 10.30 'readfile.py--read and display text file' #get filename fname=raw_input('enter file name:') print #attempt to open file for reading try

python新手学习之文件读写之修改

文件除r.w.a方式打开外,还可以有多种组合方式如r+ w+ a+等多种方式 1.r+ 读写模式介绍,开始读是从一行开始读,写永远从最后开始写(类似于追加) # f = open("test.txt","r+",encoding ="utf-8") f.readline() f.readline() f.readline() # 不管如何读或者是seek.文件永远从尾部追加.写时候,不会影响读光标位置. print("当前光标位置:&q

python基础操作_文件读写操作

#文件读写# r只能读不能写,且文件必须存在,w只能写不能读,a只能写不能读# w+是写读模式,清空原文件内容# r+是读写模式,没有清空原文件内容,# 只要有r,文件必须存在,只要有w,都会清空原文件# 如果在open的时候没有指定模式,那就是r的模式打开文件.# a+ 又能写又能读又不校验文件是否存在,还不清空原文件,完美啊# b是2进制的模式打开或者读写.如rb+ wb+ ab+# readline 读一行# readlines 读全部# writelens 写全部f=open('E:\i

Python基础知识之文件读写与修改

基本操作 f = open("file1", "r")  # 打开文件 first_line = f.readline() # 读一行 data = f.read() # 读取剩下所有内容,文件大时候不要用 f.close()  #关闭文件 如果我们想循环文件,并且在第九行输出分割的话: for index, line in enumerate(file.readlines()):     if(index == 5):         print("--

Python: 对CSV文件读写

1. python 有专门的csv包,直接导入即可. import csv: 2. 直接使用普通文件的open方法 csv_reader=open("e:/python/csv_data/log.csv" , 'r') data=[] for line in csv_reader: data.append(list(line.strip().split('|'))) for line in data: print(line) 3. 使用csv.reader & writer,返

Python学习笔记九-文件读写

1,读取文件: f=open('目录','读写模式',encoding='gbk,error='egiong') 后三项可以不写但是默认是' r'读模式:open函数打开的文件对象会自动加上read()方法: f.read()读出刚刚打开的文件:最后一定要记得close()函数:否则会出现不可估计的后果. 读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式 .如:'rb','wb','r+b'等等 readline()函数,会依次读取多有文件内容,按行返回lis

python 包含汉字的文件读写之每行末尾加上特定字符

在数据挖掘中,原始文件的格式往往是令人抓狂,很重要的一步是对数据文件的格式进行整理. 最近,接手的项目里,提供的数据文件格式简直让人看不下去,使用pandas打不开,一直是io error.仔细查看,发现文件中很多行数据是以"结尾,然而其他行缺失,因而需求也就很明显了:判断每行的结尾是否有",没有的话,加上就好了. 采用倒叙的方式好了,毕竟很多人需要的只是一个快速的解决方案,而不是一个why. 解决方案如下: 1 b = open('b_file.txt', w) 2 with ope

Python:file/file-like对象方法详解【单个文件读写】

IO中读写文件操作方法汇总!----The_Third_Wave的学习笔记! 本文由@The_Third_Wave(Blog地址:http://blog.csdn.net/zhanh1218)原创.不定期更新,有错误请指正. Sina微博关注:@The_Third_Wave 如果这篇博文对您有帮助,为了好的网络环境,不建议转载,建议收藏!如果您一定要转载,请带上后缀和本文地址. class file(object) |  file(name[, mode[, buffering]]) -> fi