文件的I/O流操作

每日小知识:

什么是I/O?

I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分。 在POSIX兼容的系统上,例如Linux系统 [1]  ,I/O操作可以有多种方式,比如DIO(Direct I/O),AIO(Asynchronous I/O,异步I/O),Memory-Mapped I/O(内存映射I/O)等,不同的I/O方式有不同的实现方式和性能,在不同的应用中可以按情况选择不同的I/O方式。

 

文件的I/O流操作

 

序号

函数、方法

说明

01

open

打开文件,并且返回文件操作对象

02

read

将文件内容读取到内存

03

write

将指定内容写入文件

04

close

关闭文件

 

  • open 函数负责打开文件,并且返回文件对象

  • read/write/close 三个方法都需要通过 文件对象 来调用

 

我们一般有两种写法:

方式一:

with open(‘文件名’,’读写方式’) as file:

       file.write(‘添加你要写的数据’)

       file.close

 

方式二:

file = open(‘文件名’,’读写方式’)

file.write(’添加你要的数据’)

file.read()

file.close()

 

 

python CSV文件的读写:

逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。

 

value,value,value.

 

import csv

with open("test.csv","w") as csvfile: 

#创建文件句柄

writer = csv.writer(csvfile) 

#先写入columns_name 

writer.writerow(["index","a_name","b_name"]) 

#写入多行用 writerows

writer.writerows([[0,1,3],[1,2,3],[2,3,4]])

#单行写入writerow

writer.writerow([0,1,3])

 

With open(‘test.csv’,’w’) as csvfile:

fieldnames = ['index','a_name','b_name’]

writer = csv.DictWriter(csvfile,fieldnames=fieldnames)

先写入头信息即:fieldnames = ['index','a_name','b_name’]

writer.writeheader()

writer.writerow({'index’:’1’,'a_name’:’2’,'b_name’:’3’})

 

 

读取csv文件:

import csv with open("test.csv","r") as csvfile: 

reader = csv.reader(csvfile) 

#这里不需要readlines 

for  line  in  reader: 

print (line)

 


参考资料:http://www.runoob.com/python/python-files-io.htm