标签:文件操作
ssssseceeceihishesce############文件操作###########
Python 内置了读写文件的函数,用法和 C 是兼容的;
操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(又称文件描述符),然后,通过操作系统提供的接口从这个文件对象操作;
1.文件读写的过程:
(1). 打开文件
(2). 向文件中写入内容;
(3). 关闭文件
先创建一个文件,并且写入东西
f=open(‘file‘) ##默认为只读
f.read()
f.close()
In [7]: f=open(‘file‘,‘w‘) ##只写
In [8]: f.write(‘hello,word‘)
In [9]: f.read()
---------------------------------------------------------------------------
IOError Traceback (most recent call last)
<ipython-input-9-bacd0e0f09a3> in <module>()
----> 1 f.read()
IOError: File not open for reading
In [10]: f.close()
2。其他的文件读写几种模式
r:可以读取文件内容,不可以写入,如果文件不存在则报错
r+:可读写,依次覆盖源文件的内容,如果文件不存在则报错
w:可以写入文件内容,不可以读取,如果文件不存在则创建,并覆盖原文件内容
w+:可读写,打开文件时直接删除原文件的内容,如果文件不存在则创建
a:写入,文件末尾追加,文件不存在则创建
a+:读写,文件追加,文件不存在则创建
编写一个文件,将file文件中的hello替换成westos,并另存为一文件hello.bak
f1=open(‘file‘,‘r‘)
f2=open(‘westos‘,‘a+‘)
str1=f1.read()
str2=str1.replace(‘hello‘,‘westos‘)
f2.write(str2)
f1.close()
f2.close()
二进制文件
要读取二进制文件,比如图片、视频等等,用 ‘rb‘ 模式打开文件即可
>>> f = open(‘/root/test.jpg‘, ‘rb‘)
>>> f.read()
>>>f.close()
5. f.flush()函数,将缓冲区的内容写入到硬盘中
6. f.seek(offset[,whence]),offset 表示移动多少字节, whence 为 1 的时候表示相对于当前位置移动的;当 2 的时候从文件的末尾往后移动,但不一定所有的平台都支持;默认为 0 表示从文件开头往后移动
7. f.tell()函数,返回当前文件指针的偏移量:
8.with 用法
先创建一个lelpha文件,并且写入多行字符
In [1]: with open(‘elepha‘) as f:
...: for line in f:
...: print line
...:
qewwqqqqwqqwqqqqqrq
qqrqrqqqqqqqqqqqqqqqq
qqqqqqqqqqqqqqqqqqqqqq
wwwwwwwwwwwwwwwwwwwwwww
eeeeeeeeeeeeeeeeeeeeeeeee
rrrrrrrrrrrrrrrrrrrrrrrrr
ttttttttttttttttttttttt
yyyyyyyyyyyyyyyyyyyy
标签:文件操作
原文地址:http://12920735.blog.51cto.com/12910735/1951242