文章目录
一、文件
在本章我们将学习处理文件,让程序能够快速地分析大量数据
二、从文件中读取数据
1.读取整个文件
要读取文件,需要一个包含几行文本的文件。
我们先传建一个文件,内容包含圆周率值小数点后30位,且在小数点后每10位处换行。
(注意该文本文件要保存到程序所在目录)
然后我们在同一个目录下写一个file_reader.py的程序来读取这个文件
with open('pi_digits.txt') as file_object:
contents = file_object.read()
print(contents)
输出结果:
代码解析:
1.这个程序的第一行代码做了大量的工作。函数open():要以任何方式使用文件,都要先打开文件,才能访问它。函数open()接受一个参数:要打开的文件的名称。接着python在当前执行的文件所在的目录中查找指定的文件。查找到之后函数open()返回一个表示文件的对象。(在这个程序中,open(‘pi_digits.txt’)返回一个表示文件pi_digits.txt的对象,python将该对象赋给file_object供以后使用)
2.关键字with在不需要访问文件后将其关闭。(在这个程序中,我们调用了open(),但没有调用close()。也可以调用open()和close()来打开和关闭文件。但是这样做的话,如果存在bug导致方法close()未执行,文件将不会关闭,这将会导致很多错误。所以使用with比较好,让程序在合适的时候自动关闭文件。)
3.有了表示pi_digits.txt的文件对象后,使用**方法read()**读取这个文件的全部内容,并将其作为一个长长的字符串赋给变量contents。
4.我们会发现,相比较原始文本,该输出末尾多了一个空行,这是因为read()到达文件末尾时返回一个空字符串,而将这个空格字符显示出来就是一个空行。要删除多的空行,可在函数调用print()中使用rstrip()
print(contents.rstrip())
2.文件路径(相对文件路径、绝对文件路径)
相对文件路径
举个例子:例如程序文件放在Project文件夹中,而该文件夹中还有一个文件夹名为text_file,我们要读取的文本文件位于text_file文件夹中,此时要使用相对文件路径来打开其中的文本文件。代码编写方式如下:
with open('textfile/filename.txt') as file_object