CodeGym /Java 课程 /Python SELF ZH /将数据写入文件

将数据写入文件

Python SELF ZH
第 21 级 , 课程 2
可用

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()  # 关闭文件
        

看到没,是不是很简单?

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION