python系列教程121

745 阅读2分钟

朋友们,如需转载请标明出处:blog.csdn.net/jiangjunsho…

声明:在人工智能技术教学期间,不少学生向我提一些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临时创建的文件对象将自动在每次循环迭代的时候读入并返回一行。这种形式通常很容易编写,而且执行速度又快又节约内存。