在Python中,你可以使用内置的input
函数来获取用户输入,并根据用户输入的内容自动命名文件。以下是一个简单的示例,展示了如何实现这一功能:
import os
def create_file_with_user_input():
# 获取用户输入的文件名
file_name = input("请输入文件名(不包括扩展名):")
# 添加文件扩展名
file_name_with_extension = f"{file_name}.txt"
# 检查文件是否已经存在
if os.path.exists(file_name_with_extension):
print(f"文件 '{file_name_with_extension}' 已经存在。")
else:
# 创建并写入文件
with open(file_name_with_extension, 'w') as file:
file.write("这是一个自动命名的文件。\n")
print(f"文件 '{file_name_with_extension}' 已创建。")
if __name__ == "__main__":
create_file_with_user_input()
create_file.py
。python create_file.py
3. 程序会提示你输入文件名。输入文件名后,程序会自动创建一个以你输入的名称命名的文件,并在文件中写入一些内容。
在上述示例中,如果文件已经存在,程序会提示用户文件已存在。你可以根据需要修改代码,以便在文件名冲突时采取不同的措施,例如:
以下是一个示例,展示了如何在文件名冲突时自动生成一个不冲突的文件名:
import os
def create_file_with_user_input():
# 获取用户输入的文件名
file_name = input("请输入文件名(不包括扩展名):")
# 添加文件扩展名
file_name_with_extension = f"{file_name}.txt"
# 检查文件是否已经存在,如果存在则生成一个不冲突的文件名
counter = 1
original_file_name = file_name_with_extension
while os.path.exists(file_name_with_extension):
file_name_with_extension = f"{file_name}_{counter}.txt"
counter += 1
# 创建并写入文件
with open(file_name_with_extension, 'w') as file:
file.write("这是一个自动命名的文件。\n")
print(f"文件 '{file_name_with_extension}' 已创建。")
if __name__ == "__main__":
create_file_with_user_input()
在这个示例中,如果用户输入的文件名已经存在,程序会在文件名后添加一个数字(例如file_1.txt
、file_2.txt
),直到找到一个不冲突的文件名。
领取专属 10元无门槛券
手把手带您无忧上云