WEB开发网
开发学院软件开发Python 用 Python 的输入输出功能读取和写入数据 阅读

用 Python 的输入输出功能读取和写入数据

 2007-03-29 12:17:10 来源:WEB开发网   
核心提示: 要读取数据,首先要创建合适的 file 对象 —— 在这个示例中,用 Python 的输入输出功能读取和写入数据(4),文件对象打开 testit.txt 文件,并用 read 方法读取内容,所以您可能想知道这个任务有没有快捷方式可用,如清单 4 所示,这个方法把整

要读取数据,首先要创建合适的 file 对象 —— 在这个示例中,文件对象打开 testit.txt 文件,并用 read 方法读取内容。这个方法把整个文件读入一个 string,然后在程序中把这个字符串输出到控制台。在对 read 方法的第二个调用中,试图把值分配给 str 变量,结果返回一个空的 string。这是因为第一个 read 操作读入了整个文件。当试图再次读取内容时,已经到了文件末尾,所以什么也读不到。

这个问题的解决方案也很简单:让 file 对象返回文件的开头。回到开头要通过 seek 方法进行,它接受一个参数,表示要从文件中的什么位置开始读取或写入(例如,0 代表文件开头)。seek 方法支持更复杂的操作,但是可能会有危险。对于目前来说,我们还坚持采用简单方式。

现在回到了文件的开始之处,可以把文件内容读入 string 变量并对 string 做适当地解析。请注意,在文件中,行之间用新行(或行结束)字符区分。如果试着在 string 上调用 split 方法,它会在空白字符(例如空格)处进行拆分。为了让方法根据新行字符拆分各行,必须显式地指定新行字符。然后可以拆分 string 并在 for 循环中对文件的行进行迭代。

看起来仅仅从文件中读取和处理一行内容都有许多工作要做。Python 要让简单的事情变容易,所以您可能想知道这个任务有没有快捷方式可用。如清单 4 所示,答案是 yes。

清单 4. 读取和解析行

>>> myfile = open("testit.txt")
>>> for line in myfile.readlines():
...   print line
...
Hello World!
The total value = $1820.00
>>> myfile.close()
>>> for line in open("testit.txt").readlines():
...   print line
...
Hello World!
The total value = $1820.00
>>> for line in open("testit.txt"):
...   print line
...
Hello World!
The total value = $1820.00

上一页  1 2 3 4 5 6 7  下一页

Tags:Python 输入 输出

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接