输入 - 处理 - 输出 - 关闭
尊重劳动成果,请访问CSDN著者原文链接 http://blog.csdn.net/zixiao217/article/details/51927563 IO输入输出,一般操作顺序都是 输入 - 处理 - 输出 - 关闭 这节演示一个读取文本文件的示例。 Python的BIF open() 可以用来与文件交互。我们再结合for循环语句的话,就更美妙了。 使用open() BIF处理文件中的数据时,会创建一个迭代器从文件想你的代码输入数据行,一次读入一行数据(JAVA中的readLine方法,好像吧)。使用方式是这样的:
代码语言:javascript复制# 1. 读取文件
file_obj = open('url')
"""
2. 做你想做的事情,打印?其他处置?随你吧
"""
# 3. 关闭
file_obj.close()
我在F盘创建一个目录(文件夹)exercise,在这个目录下创建了一个py-file.txt文件,文件内容如图1:
图1 Python代码:
代码语言:javascript复制>>> file_obj = open("F:exercisepy-file.txt")
>>> print(file_obj.readline(), end = '')
东陆之滇,有云山
>>> print(file_obj.readline(), end = '')
翠湖畔,白鸥远翔
>>> file_obj.close()
>>>> print(file_obj.readline(), end = '')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
print(file_obj.readline(), end = '')
ValueError: I/O operation on closed file.
我们看到: 1. 使用open读入url路径指定的文件返回给一个对象给file_obj 变量。 2. 然后我们读取的两次,每次读取一行,输出每行的内容到控制台。 3. 最后关闭资源。 4. 资源关闭后,如果再读取内容会看到错误提示:在已经关闭的文件上进行IO操作。
可迭代对象
open()返回的是一个可迭代对象,我们可以使用for循环读取文件内容。
代码语言:javascript复制>>> file_obj = open("F:exercisepy-file.txt") # 重新打开资源
>>> for data in file_obj:
print(data, end='')
东陆之滇,有云山
翠湖畔,白鸥远翔
>>> file_obj.close() # 记得最后总是要关闭资源
读完这节,你已经学会简单读取文件,关闭资源了,赶快试试吧^_^