朋友们,如需转载请标明出处: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 filen') # Write a line of text: string 16 >>> myfile.write('goodbye text filen') 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 filen' >>> myfile.readline() 'goodbye text filen' >>> myfile.readline() # Empty string: end of file ''
上面的例子把一行文本写成字符串,其中包括行终止符n。注意,写入方法不会为我们添加行终止符,所以程序必须包含它来严格地终止行(否则,下次写入时会简单地延长文件的当前行)。
我们也可以用文件对象的read方法把整个文件读入到一个字符串中:
>>> open('myfile.txt').read() # Read all at once into string 'hello text filengoodbye text filen' >>> 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临时创建的文件对象将自动在每次循环迭代的时候读入并返回一行。这种形式通常很容易编写,而且执行速度又快又节约内存。



