3.1 创建文件
当使用写入模式 ('w')
或追加模式 ('a')
打开文件时,文件会自动创建。
如果文件已存在,'w'
模式会覆盖文件内容,而 'a'
模式会在文件末尾追加新数据。
创建文件的例子
file = open('example.txt', 'w') # 打开文件进行写入,如果文件不存在则创建
file.write("This is a new file.\n")
file.close()
在这个例子中,文件 example.txt
会被创建(如果不存在),然后写入一行字符串 "This is a new file.\n"
。
你可以创建一个完全空的文件 —— 只需打开它进行写入然后立刻关闭。
创建空文件的例子
file = open('example.txt', 'w')
file.close()
注意,如果你用写入模式打开一个已存在的文件,文件中所有内容都会被清除。
3.2 写入文件
写入数据到文件有两个常用的方式——write()
和 writelines()
。
方法 write()
write()
方法能写入一行字符串到文件。如果文件以写入模式
('w')
打开,它的内容会在新数据写入之前被清除。如果文件以追加模式
('a')
打开,新数据会被添加到文件末尾。
write()
的使用例子:
# 以写入模式打开文件
file = open('example.txt', 'w')
file.write("Hello, World!\n")
file.write("This is a test file.\n")
file.close()
方法 writelines()
writelines()
方法接受一个字符串列表并将其写入文件。
它不会自动添加换行符,所以你需要在字符串中手动加上。
writelines()
的使用例子:
lines = ["First line.\n", "Second line.\n", "Third line.\n"]
# 以写入模式打开文件
file = open('example.txt', 'w')
file.writelines(lines)
file.close()
指定文件编码
在读取或写入文本文件时,你可以通过 encoding
参数指定文件的编码。
例如:
# 以 UTF-8 编码打开文件进行写入
file = open('example_utf8.txt', 'w', encoding='utf-8')
file.write("这是用中文写的文本。\n")
file.write("More text in UTF-8.\n")
file.close()
我们稍后会讨论不同的文件和文本编码,但现在你应该知道这个参数存在,用它可以避免许多问题。
3.3 向文件追加数据
在文件末尾追加数据和写入数据一样简单。你只需要在打开文件时指定追加模式
('a')
,剩下的会自动处理。
这里有一些例子:
向文件末尾添加字符串
这个例子展示了如何以追加模式 ('a')
打开文件,并在末尾添加几行字符串。
file = open('example.txt', 'a') # 打开文件进行数据追加
file.write("This is a new line added to the file.\n")
file.write("Another line is appended.\n")
file.close() # 关闭文件
向文件末尾添加字符串列表
这个例子展示了如何使用方法 writelines()
把一个字符串列表添加到文件末尾。
lines = [
"Appending first line from list.\n",
"Appending second line from list.\n",
"Appending third line from list.\n"
]
file = open('example.txt', 'a') # 打开文件进行数据追加
file.writelines(lines) # 添加字符串列表
file.close() # 关闭文件
指定编码向文件追加数据
这个例子展示了如何使用指定编码(如 UTF-8)以追加模式打开文件并添加一行字符串。
# 使用指定编码打开文件进行数据追加
file = open('example_utf8.txt', 'a', encoding='utf-8')
file.write("使用 UTF-8 添加一行文本。\n")
file.write("又添加了一行文本。\n")
file.close() # 关闭文件
看到没,是不是很简单?
GO TO FULL VERSION