Python与文件(一)

1、打开文件

Open函数:Open(name[. mode[. buffering]])

其中文件名name为强制参数,模式mode和缓冲buffering为可选参数

eg:f = Open(r'C:\text\somefile.txt')

描述
r 读模式
w 写模式
a 追加模式
b 二进制模式(处理声音剪辑或图像等二进制文件)
+

读/写模式

表1  open函数模式参数常用值

0 或 false I/O无缓冲,所有的读写操作都直接针对硬盘
1 或 true I/O有缓冲,使用内存代替硬盘,让程序更快。只有使用flush或者close是才会更新硬盘上的数据
大于1 缓冲区的大小(单位为字节)
-1 或如何负数 使用默认的缓冲区大小

表2  open函数缓冲参数

2、读 与 写

.write()  .read()

eg:f = open('somefile.txt','+')

 f.write('hello')

 f.read()

 f.read(4)   #4为读取字符数

 f.close()

3、管式输出

在UNIX的shell中,使用管道可以在一个命令后面续写其他的多个命令

eg:$ cat  somefile.txt  |  python somescript.py  |  sort

cat  somefile.txt:把somefile.txt的内容写到标准输出(sys.stdout)

python  somescript.py:运行python脚本,脚本从标准输入读,结果写到标准输出

sort:从标准输入(sys.stdin)读取所有文本,按字母排序,结果写到标准输出

管道命令将一个命令的标准输出和下一个命令的标准输入连在一起,于是就有 somescript.py 从它的sys.stdin中读取somefile.txt写入的数据,并把结果写入它的sys.stdout中,sort可以从中获取到数据。

4、读写行

file.readline  读取单独的一行,包括换行符

file.readlines  读取一个文件的所有行并将其作为列表返回

writelines  传给其一个字符串的列表,它会把所有的字符串写入文件但不会自动换行

没有writeline,使用write方法

5、关闭文件

使用close方法

确保文件关闭,可以用try/finally,在finally中调用close

try:

  #write file to your data

finally:

  file.close()

也可以用with语句,with语句可以打开文件并将其赋值到变量上,文件会在语句结束后自动关闭

with open("somefile.txt") as somefile:

  do_something(somefile)

 

 

 

 

posted @ 2018-04-28 17:55  gajendra  阅读(113)  评论(0编辑  收藏  举报