文件读取和写入

1.从文件中读取数据

    要使用文本文件中的信息,首先需要将信息读取到内存中,。为此,可以一次性读取文件的全部内容,也可以每次一行的方式逐步读取。

    ①.读取整个文件

        open()函数,接受一个参数:要打开文件的名称。Python在当前执行的文件所在的目录中查找指定的文件,返回一个表示文件的对象,Python将这个对象村相互在使用的变量中。

        with open('test,txt') as file_object:

            contents = file_object.read();

            print(contents);

    关键字with在不再需要访问文件后将其关闭。close()函数可以不用手动调用。我们使用的时候,只管打开文件,并在需要时使用它,Python会在合适的时候自动将其关闭。read()方法读取整个文件的全部内容,并将其作为一个字符串存储到contents中。

直接打印contents中的内容,会多出个空行,因为read()到达文件末尾时返回一个空字符串,二将这个空字符串显示出来就是一个空行。要删除多出来的空行,可在print语句中使用rstrip():print(contents。rstrip());rstrip()就是删除字符串末尾的空白,相应的,lstrip()删除字符串末尾的空白。strip()去除掉左右的空白字符。

    ②文件路径

        直接传递文件名,会在当前执行文件所在目录查找文件。如果文件不在同文件夹内,就需要提供文件路径,让Python到系统的特定位置去查找。有相对文件路径和绝对文件路径两种表示方法:

            相对文件路径:指定位置相对于当前运行的程序所在目录的:files/test.txt

            绝对文件路径:文件在计算机中的准确位置。

    ③逐行读取

        使用for循环,每次一行读取

              with open('test,txt') as file_object:

                for line in file_object:

                    print(line.rstrip());

        这种读法每行末尾都有一个看不见的换行符,而print也会加上一个换行符,每行末有两个换行符:一个来自文件,另一个来自prnt语句。要消除这些多余的空白行,可以用rstrip()。

    ④创建一个包含文件内各行内容的列表

        with open(filename) as file_object:

            lines = file_object.readlines();

    readlines()从文件中读取每一行,并将其存储在一个列表中,接下来,该列表被存储到变量lines中,在with代码块外,依然可以使用这个变量。

    注:读取文本文件时,Python将所有文本都解读为字符串。如果读取的是数字,必须使用int()将其转换为整数,或使用float()函数将其转换为浮点数。

2.写入空文件

    要写入文件,调用open()函数时需要传另一个实参。'w'表示以写入模式打开,'r'表示读取模式,'a'表示附加模式,'r+'表示能够读取和写入文件。如果陷入的文件不存在,Python会自动创建。写入使用file_object.write(content)语句,多行需要换行符。

    附加模式是算是给文件添加内容而不覆盖原有的内容。

你可能感兴趣的:(文件读取和写入)