如何使用 Python 使用用户提供的文件名保存文件?
在 Python 中,使用用户定义的文件名保存文件是各种应用程序和项目中的常见要求。通过允许用户指定文件名,我们可以为他们提供更加个性化和可定制的体验。本文将解释使用 Python 使用用户提供的文件名保存文件的过程。
算法
使用用户提供的文件名保存文件的一般算法如下:
提示用户输入所需的文件名。
检查文件名是否以所需的文件扩展名结尾。如果没有,则将其附加。
使用 open() 函数创建一个文件对象,并指定文件名和 'w' 模式。
提示用户输入要写入文件的内容。
使用文件对象的 write() 方法将内容写入文件
使用 close() 方法关闭文件。
处理文件创建和写入过程中可能发生的任何异常。
方法 1:使用 open() 函数和 write() 方法
此方法利用 Python 中内置的 open() 函数创建一个文件对象,然后使用文件对象的 write() 方法将内容写入文件
语法
file = open(file_name, mode)
此处,file = open(file_name, mode) 通过在给定模式下打开 file_name 指定的文件来创建一个名为 file 的文件对象。mode 参数确定打开文件的用途,例如 'w' 表示写入模式。
file.write(content)
此处,file.write(content) 用于将指定的"内容"写入"file"变量引用的文件中。
示例
在下面的示例中,open() 函数用于使用提供的文件名在写入模式("w")下创建一个名为 file 的文件对象。提示用户输入要写入文件的内容。write() 方法用于将内容写入文件。调用 close() 方法来关闭文件并释放系统资源。最后打印成功信息,表示文件保存成功
file_name = input("请输入文件名: ") file = open(file_name, 'w') content = input("请输入要写入文件的内容: ") file.write(content) file.close() print("文件保存成功!")
输出
请输入文件名: my_file.txt 请输入要写入文件的内容: 这是我的文件内容。 文件保存成功!

上图显示文件已成功保存,文件名与您在提示中输入的文件名相同。即 my_file.txt。您可以输入任何您选择的文件名。
方法 2:使用 input() 函数和 write() 方法
此方法涉及使用 input() 函数从用户那里获取所需的文件名和内容,然后使用 write() 方法将内容写入文件。
语法
input(prompt)
这里,input 是用于从控制台接受用户输入的内置函数。 prompt 是一个可选参数,用于指定在用户输入之前向用户显示的消息或提示。
示例
在下面的示例中,open() 函数在 with 语句中用于自动处理文件关闭。使用提供的文件名以写入模式 ('w') 打开文件。write() 方法用于将内容写入文件。在 with 块之后,文件将自动关闭。最后,打印一条成功消息,表明文件已成功保存。
file_name = input("输入所需的文件名: ") content = input("输入要写入文件的内容: ") with open(file_name, 'w') as file: file.write(content) print("文件保存成功!")
输出
输入所需的文件名:my_file.txt 输入要写入文件的内容:这是我的文件的内容。 文件保存成功!

因为我们在提示中输入的文件名是 my_file.txt。该文件已成功保存为当前目录中的 my_file.txt。
方法 3:使用 Pathlib 模块
Python 中的 pathlib 模块提供了一个用于处理文件和目录的面向对象接口。它允许我们使用 open() 函数创建一个文件并向其中写入内容。
语法
from pathlib import Path
在这里,我们从 Python 的 Path 库导入 pathlib 模块。我们可以指定要从特定库导入的模块名称。
path_variable = Path(path_string)
这里,path_string 是一个表示文件或目录路径的字符串。Path() 函数使用指定的 path_string 创建 Path 对象。 Path 对象提供各种方法和属性来处理文件路径,例如读取、写入或操作路径。
示例
在下面的示例中,导入 pathlib 模块以使用其处理文件路径的功能。系统提示用户输入所需的文件名,包括文件扩展名。
系统提示用户输入要写入文件的内容。使用 Path() 函数创建文件路径,并将文件名作为参数传递。在 file_path 对象上调用 write_text() 方法将内容写入文件。最后打印成功信息,表示文件保存成功。
from pathlib import Path file_name = input("输入文件名:") content = input("输入要写入文件的内容:") file_path = Path(file_name) file_path.write_text(content) print("文件保存成功!")
输出
输入文件名:my_file.txt 输入要写入文件的内容:这是我的文件内容。 文件保存成功!

上图显示文件已成功保存为当前目录中的 my_file.txt 文件。如果打开该文件,文件内容将包含您在文件中输入的文本。
方法 4:使用 io 模块
Python 中的 io 模块提供了用于处理流的类,包括类似文件的对象。我们可以利用此模块中的 open() 函数来创建文件对象并向其中写入内容。
语法
file_variable = io.open(file_name, mode, encoding)
此处,file_name 是一个表示文件名或路径的字符串。mode 是一个可选参数,用于指定打开文件的模式,例如"r"表示读取,"w"表示写入,"a"表示附加等。encoding 是一个可选参数,用于指定读取或写入文件时要使用的编码。
示例
在下面的示例中,导入了 io 模块以使用其处理类文件对象的功能。系统提示用户输入所需的文件名,包括文件扩展名。
系统提示用户输入要写入文件的内容。 io 模块中的 open() 函数用于 with 语句中,自动处理文件关闭。使用提供的文件名以写入模式 ('w') 打开文件。write() 方法用于将内容写入文件。在 with 块之后,文件将自动关闭。最后,打印一条成功消息,表明文件已成功保存。
import io file_name = input("输入所需的文件名:") content = input("输入要写入文件的内容:") with io.open(file_name, 'w') as file: file.write(content) print("文件保存成功!")
输出
输入所需的文件名:my_file.txt 输入要写入文件的内容:这是我的文件的内容。 文件保存成功!

上图清楚地显示,文件保存为提示中输入的 my_file.txt 文件名。如果打开文件,文件内容将包含您在文件中输入的文本。
结论
在本文中,我们讨论了如何使用 Python 保存用户定义的文件名的文件。通过允许用户指定文件名,我们可以在 Python 应用程序中创建更具交互性和个性化的体验。请记住适当处理异常以确保代码顺利运行。