在Python中,你可以使用open()函数以不同的模式打开文件,并使用文件对象的write()方法来写入文件。
下面是一个简单的示例,演示如何写入文件:
# 打开文件,以写入模式打开(如果文件不存在则创建一个新文件) file = open('test.txt', 'w') # 写入内容到文件 file.write('Hello, world!\n') file.write('This is a test.') # 关闭文件 file.close()
在上面的示例中,我们首先使用open()函数以写入模式打开文件。如果文件不存在,将会创建一个新文件。然后,我们使用文件对象的write()方法来写入内容到文件中。注意在写入内容之后,我们使用close()方法来关闭文件。
写入文件时,可以使用不同的写入模式来控制文件的行为。例如,使用’w’模式会清空文件内容并写入新的内容;使用’a’模式会在文件末尾追加内容而不会清空原有内容。你可以根据需要选择适合的写入模式。
写入文件时,可以写入字符串或者使用字符串格式化来写入变量的值。例如:
name = 'Alice' age = 25 file.write(f'My name is {name} and I am {age} years old.')
上述示例使用了字符串格式化(f-string)来将变量的值插入到字符串中。
请注意,在写入文件后,一定要记得使用close()方法来关闭文件,以确保文件被正确地保存和释放资源。
filename = 'programming.txt' ❶ with open(filename, 'w') as file_object: ❷ file_object.write("I love programming.")
在本例中,调用open()时提供了两个实参(见❶)。第一个实参也是要打开的文件的名称。第二个实参(’w’)告诉Python,要以写入模式打开这个文件。打开文件时,可指定读取模式(’r’)、写入模式(’w’)、附加模式(’a’)或读写模式(’r+’)。如果省略了模式实参,Python将以默认的只读模式打开文件。
如果要写入的文件不存在,函数open()将自动创建它。然而,以写入模式(’w’)打开文件时千万要小心,因为如果指定的文件已经存在,Python将在返回文件对象前清空该文件的内容。
在❷处,使用文件对象的方法write()将一个字符串写入文件。这个程序没有终端输出,但如果打开文件programming.txt,将看到其中包含如下一行内容:
I love programming.
相比于计算机中的其他文件,这个文件没有什么不同。你可以打开它、在其中输入新文本、复制其内容、将内容粘贴到其中,等等。
注意 Python只能将字符串写入文本文件。要将数值数据存储到文本文件中,必须先使用函数str()将其转换为字符串格式。
附加到文件
如果要给文件添加内容,而不是覆盖原有的内容,可以以附加模式打开文件。以附加模式打开文件时,Python不会在返回文件对象前清空文件的内容,而是将写入文件的行添加到文件末尾。如果指定的文件不存在,Python将为你创建一个空文件。
下面来修改write_message.py,在既有文件programming.txt中再添加一些你酷爱编程的原因:
write_message.py
filename = 'programming.txt' ❶ with open(filename, '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")
在❶处,打开文件时指定了实参’a’,以便将内容附加到文件末尾,而不是覆盖文件原来的内容。在❷处,又写入了两行,它们被添加到文件programming.txt末尾:
最终的结果是,文件原来的内容还在,后面则是刚添加的内容。