如何在 Python 中将用户输入保存到文件中

在 Python 中将用户输入保存到文件中

How to save user input to a File in Python

将用户输入保存到文件:

  1. 使用该with open()语句以写入模式打开文件。
  2. 使用input()函数从用户那里获取输入。
  3. 使用file.write()方法将输入写入文件。
  4. with语句自动关闭文件。
主程序
# ✅ Save user input to file file_name = 'example.txt' with open(file_name, 'w', encoding='utf-8') as my_file: my_file.write(input('Your message: ')) # ------------------------------------------------- # ✅ Take filename and contents of file from user input file_name = input('Filename with extension, e.g. example.txt: ') with open(file_name, 'w', encoding='utf-8') as my_file: my_file.write(input('Your message: '))
with open()即使引发异常,语法也会自动关闭文件

第一个示例将用户输入写入名为的文件example.txt,第二个示例提示用户输入文件名。

主程序
file_name = 'example.txt' with open(file_name, 'w', encoding='utf-8') as f: f.write(input('Your message: '))

open函数打开一个文件并返回对应的文件对象

您最常将以下 3 个参数传递给该open函数:

姓名 描述
文件名 文件名
模式 打开文件的模式,例如r读取或w写入(默认为r
编码 使用什么编码来解码或编码文件(默认是平台相关的)

我们使用write()文件对象上的方法将用户输入写入文件。

( wwrite) 模式截断文件并打开它进行写入。

如果需要附加到文件,可以使用a(append) 模式。

主程序
file_name = 'example.txt' with open(file_name, 'a+', encoding='utf-8') as my_file: my_file.write(input('Your message: ') + '\n')
a+模式打开文件进行读取和追加。如果文件不存在,则创建该文件。

我在用户输入的末尾添加了一个换行符,所以它每次都从一个新行开始,但你不必这样做。

第二个示例从用户输入中获取文件名和文件内容。

主程序
file_name = input('Filename with extension, e.g. example.txt: ') with open(file_name, 'w', encoding='utf-8') as f: f.write(input('Your message: '))

文件名应包含扩展名,例如example.txt.

输入函数接受一个可选prompt参数并将其写入标准输出而没有尾随换行符

您可能还会看到更旧的、更手动的语法,其中显式调用
close()正在使用的方法。

主程序
file_name = 'example.txt' f = open(file_name, 'w', encoding='utf-8') f.write(input('Your message: ')) f.close()

你通常应该避免这种语法,因为它要求我们在写入文件后手动关闭文件。

我们还必须处理任何错误,因为close()如果在此之前发生错误,对该方法的调用将不会运行。

最佳做法是使用该with语句,因为它会自动关闭文件,即使出现错误也是如此。

主程序
file_name = 'example.txt' with open(file_name, 'w', encoding='utf-8') as my_file: my_file.write(input('Your message: '))

发表评论