* open():open(file, mode='r', buffering=- 1, encoding=None, errors=None, newline=None, closefd=True, opener=None),返回值为一个文件对象。
**常规方式**:
1.打开文件
```python
f = open( '/Users/michael/test.txt', 'r' )
//打开文件。r 表示读取文件,我们就成功地打开了一个文件。
//但是, 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不存在,错误情况如下:
f=open('/Users/michael/notfound.txt', 'r')
Traceback (most recent call last):
File "
FileNotFoundError: [Errno 2] No such file or directory: '/Users/michael/notfound.txt'
```
2.读取
```python
//如果文件打开成功,接下来,调用read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示:
f.read()
'Hello, world!'
```
3.关闭
```python
//最后一步是调用close()方法关闭文件。文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:
f.close()
//由于文件读写时都有可能产生IOError,一旦出错,后面的f.close()就不会调用。所以,为了保证无论是否出错都能正确地关闭文件,我们可以使用try … finally来实现:
```
最终方案:
```python
try:
f = open('/path/to/file', 'r')
print(f.read())
finally:
if f:
f.close()
```
* **readlines**():用于读取所有行(直到结束符 EOF)并返回列表,该列表可以由 Python 的 for... in ... 结构进行处理。
如果碰到结束符 EOF 则返回空字符串。使用如下:
```python
fileObject.readlines( );
```
示例:
文件 runoob.txt 的内容如下:
```
1:www.runoob.com
2:www.runoob.com
3:www.runoob.com
4:www.runoob.com
5:www.runoob.com
```
```python
# 打开文件
fo = open("runoob.txt", "r")
print "文件名为: ", fo.name
for line in fo.readlines(): #依次读取每行
line = line.strip() #去掉每行头尾空白
print "读取的数据为: %s" % (line)
# 关闭文件
fo.close()
```
运行结果:
```
文件名为: runoob.txt
读取的数据为: 1:www.runoob.com
读取的数据为: 2:www.runoob.com
读取的数据为: 3:www.runoob.com
读取的数据为: 4:www.runoob.com
读取的数据为: 5:www.runoob.com
```