用 Python 的输入输出功能读取和写入数据
2007-03-29 12:17:10 来源:WEB开发网这个示例演示了如何在文件中移动,一次读取一行,或者显式地用 seek 方法移动文件位置指示器。首先,用 readline 方法在文件行中移动。当到达文件末尾时,readline 方法返回一个空的 string。在过了文件末尾之后,如果还用这种方式继续读取,并不会造成错误,只会返回空的 string。
然后返回文件开始的地方,并读取另一行。 tell 方法显示出在文件中的当前位置(应当在第一行文本之后) —— 在这个示例中,在第 13 个字符位置。通过使用这个知识,可以向 read 或readline 方法传递一个参数,控制读取的字符数。对于 read 方法,这个参数(在这个示例中是 17)是要从文件中读取的字符数。但是 readline 方法在读入指定数量的字符后,还会继续读取,直到行尾。在这个示例中,它读取第一行和第二行文本。
写入数据
迄今为止的示例都侧重于读取数据,而不是写入数据。但是如清单 6 所示,一旦了解了使用 file 对象的基础知识,写入也很容易。
清单 6. 写入数据>>> mydata = ['Hello World!', 'The total value = $1820.00']
>>> myfile = open('testit.txt', 'w')
>>> for line in mydata:
... myfile.write(line + '
')
...
>>> myfile.close()
>>> myfile = open("testit.txt")
>>> myfile.read()
'Hello World!
The total value = $1820.00
'
>>> myfile.close()
>>> myfile = open("testit.txt", "r+")
>>> for line in mydata:
... myfile.write(line + '
')
...
>>> myfile.seek(0)
>>> myfile.read()
'Hello World!
The total value = $1820.00
'
>>> myfile.close()
>>> myfile = open("testit.txt", "r+a")
>>> myfile.read()
'Hello World!
The total value = $1820.00
'
>>> for line in mydata:
... myfile.write(line + '
')
...
>>> myfile.seek(0)
>>> myfile.read()
'Hello World!
The total value = $1820.00
Hello World!
The total value = $1820.00
'
>>> myfile.close()
更多精彩
赞助商链接