在Python学习过程中,非开发者使用Python对文件进行处理操作处理可谓是最基础也是最频繁的。今天就带大家了解一下使用Python怎么读取txt文件数据保存数组中。
程序读取
要读取文件中的信息,我们可以一次性读取整个文件的全部内容。
创建一个文本的文件cats.txt,其中包含若干行文本信息,
把文本文件与程序文件存放在相同的文件夹中(使用相对路径),现在我们要通过程序读取文本文件中的全部内容。
在上例中,
函数open( ):打开的文本文件cats.txt,(函数参数为文件名’cats.txt’,表示相对路径,即python在当前执行的文件所在的目录中查找并打开指定的文本文件cats.txt。)函数open()返回一个表示文件的对象,python将这个对象存储在我们将在后面使用的变量中。
方法read( ):读取这个文件的全部内容,并将其作为一个长长的字符串存储在变量contents中。
关键字with:其作用是在不需要访问文件后将其关闭。因为在读取文件时,我们只是使用open()打开了文件,但并没有使用colse()关闭文件,而这时关键字with会在不需要访问文件时把文件关闭。
逐行读取
要读取文件中的信息,也可以每次一行的方式逐步读取。
还以上例的文本文件cats.txt为例。
在上例中,同样使用了函数open()打开文本文件cats.txt,使用with关闭文件,所不同的是,这里我们通过对文件对象执行for循环来遍历输出文件中的每一行数据信息。
但是运行结果中间出现了很多空白行,这些空白行是怎么来的呢?
这是因为,在文本文件cats.txt中每行的末尾都有一个看不见的换行符,而print语句也会加一个换行符,这样每行末尾就有2个换行符:一个来自文件cats.txt,另外一个来自print,要消除这些换行符,可在print语句中调用rstrip() 方法,
如下所示:
创建一个包含文件各行内容的列表
使用关键字with时,open()返回的文件对象只能在with代码块可用,如果要在with代码块外访问文件的内容,可在with块中将文件各行存储在一个列表,并在with代码块外使用该列表。
在上例中,我们使用方法readlines( )从文件中读取每一行,并将其中存储在一个列表lines中,然后通过for循环来遍历输出列表内容。
注意:python对处理的数据量没有限制,只要系统的内存足够多,处理多少数据都可以。