朋友们,如需转载请标明出处:https://blog.csdn.net/jiangjunshow
声明:在人工智能技术教学期间,不少学生向我提一些python相关的问题,所以为了让同学们掌握更多扩展知识更好地理解AI技术,我让助理负责分享这套python系列教程,希望能帮到大家!由于这套python教程不是由我所写,所以不如我的AI技术教学风趣幽默,学起来比较枯燥;但它的知识点还是讲到位的了,也值得阅读!PS:看不懂本篇文章的同学请先看前面的文章,循序渐进每天学一点就不会觉得难了!
下面我们看一个文件操控的简单例子。首先以输出模式打开一个新文件,写入一个字符串(以行终止符\n结束),之后关闭文件。接下来,我们以输入模式再一次打开同一文件,读取该行。注意第三个readline调用返回了一个空字符串。这表明已经到达文件底部(文件的空行是含有新行符的字符串,而不是空字符串):
>>> myfile = open('myfile.txt','w') # Open for text output: create/empty
>>> myfile.write('hello text file\n') # Write a line of text: string
16
>>> myfile.write('goodbye text file\n')
18
>>> myfile.close() # Flush output buffers to disk
>>> myfile = open('myfile.txt') # Open for text input: 'r' is default
>>> myfile.readline() # Read the lines back
'hello text file\n'
>>> myfile.readline()
'goodbye text file\n'
>>> myfile.readline() # Empty string:
end of file
''
上面的例子把一行文本写成字符串,其中包括行终止符\n。注意,写入方法不会为我们添加行终止符,所以程序必须包含它来严格地终止行(否则,下次写入时会简单地延长文件的当前行)。
我们也可以用文件对象的read方法把整个文件读入到一个字符串中:
>>> open('myfile.txt').read() # Read all at once into string
'hello text file\ngoodbye text file\n'
>>> print(open('myfile.txt').read()) # User-friendly display
hello text file
goodbye text file
如果想要一行一行地遍历整个文本文件,文件迭代器往往是最佳选择:
>>> for line in open('myfile'): # Use file iterators,not reads
... print(line,end='')
...
hello text file
goodbye text file
以文件迭代器方式读取文件时,open临时创建的文件对象将自动在每次循环迭代的时候读入并返回一行。这种形式通常很容易编写,而且执行速度又快又节约内存。