《Python编程从入门到实践》记录之文件写入

1、文件写入

通过一个例子来讲解文件写入。下边例子假设我们需要将一条简单的消息存储到文件中,类似代码如下:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

filename = 'programing.txt'

# 写的方式打开文件
with open('programing', 'w') as file_object:
    file_object.write('I love programing.')  # 文件写入
    file_object.write('I love creating new games.\n')  #write不会自动换行,需要人工加换行符
    file_object.write('I love interesting games!\n')

运行结果(执行程序目录出现programing.txt文件):

由上述代码分析文件写入方法:

open()函数:

  • open()函数有两个实参,第一个是打开文件名称,第二个实参('w')告诉Python以写入模式打开这个文件。
  • 在打开文件时,我们可以指定打开模式:读取模式('r')、写入模式('w')、附加模式('a')、读取和写入文件模式(‘r+’)。如果省略模式实参,Python将以默认的只读模式打开文件。
  • 如果写入的文件不存在,函数open()将自动创建它。以写入('w')模式打开文件时,如果指定的文件已经存在,Python将在返回文件对象前清空该文件。

write()方法:

  • write()方法将一个字符串写入文件
  • Python只能将字符串写入文本文件。若要将数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。
  • write()方法不会在写入的文本末尾添加换行符,如需换行,需要手动添加换行符,如file_object.write('I love creating new games.\n')
  • 像显示到终端到输出一样,可以使用空格、制表符、空行来设置这些输出的格式。

2、附加到文件

如果要给文件添加内容,而不是覆盖原有的内容,可以附加模式打开文件。以附加模式打开文件时,Python不会在返回文件对象前清空文件,写入到文件的行都将添加到文件末尾

如果指定的文件不存在,Python将为你创建一个空文件。所以,个人觉得如果需要写入文件,可以用此种模式打开。如果你想覆盖文件,那就用写('w')模式打开。

下边例子是附加到文件的代码,基于上述代码运行的programing.txt文件,以附加模式打开,写入文件:

#!/usr/bin/env python
# -*- coding:utf-8 -*-

filename = 'programing.txt'

# 写的方式打开文件
with open('programing', 'a') as file_object:
    file_object.write('I also love finding meaning in large datasets.\n')  
    file_object.write('I love creating apps that can run in a browser!\n')

运行结果:

猜你喜欢

转载自blog.csdn.net/Sophia_11/article/details/84583842