Python新手求助:如何用input获取文件名并创建文件?
实现输入文件名并创建文件的Python程序
嘿,作为Python新手能主动尝试实现功能真的很棒!我来一步步帮你搞定这个需求,代码简单易懂,还会给你讲清楚每个部分的作用~
核心步骤拆解
1. 获取用户输入的文件名
首先用input()函数获取用户输入的文件名,这和你之前接触的print(input())类似,但我们可以把输入的值存到变量里方便后续使用:
# 提示用户输入文件名,把输入结果存到file_name变量中 file_name = input("请输入要创建的文件名(比如:my_notes.txt):")
这里的提示文字可以自定义,告诉用户可以加上文件后缀(比如.txt),这样创建的就是对应类型的文件。
2. 创建并写入文件
Python中创建文件最推荐的方式是用with语句搭配open()函数,它会自动帮你关闭文件,避免新手容易犯的“忘记关闭文件”的错误:
# 使用with语句创建文件,'w'表示写入模式(若文件已存在会覆盖) with open(file_name, 'w') as new_file: # 如果只是创建空文件,这里可以什么都不写,或者用pass占位 pass # 如果需要往文件里写内容,比如写入一行文字,可以这样: # new_file.write("这是我用Python创建的第一个文件!\n")
完整可运行代码
我把代码整合起来,还加了错误处理,避免因为权限问题、非法文件名等导致程序崩溃:
# 获取用户输入的文件名 file_name = input("请输入要创建的文件名(支持带后缀,比如:travel_log.md):") try: # 用with语句安全地创建文件 # 如果你不想覆盖已有文件,可以把'w'改成'x',这样文件存在时会报错提示 with open(file_name, 'w') as new_file: print(f"🎉 文件 {file_name} 已成功创建!") # 可选:写入内容到文件 # new_file.write("Hello, 这是我创建的文件!") except Exception as e: print(f"😅 创建文件时出错了:{e}")
额外小提示
- 关于模式选择:
'w':写入模式,文件不存在就创建,存在就覆盖原有内容'x':创建模式,仅当文件不存在时才创建,存在则报错(适合不想误删文件的场景)'a':追加模式,文件不存在就创建,存在则在末尾追加内容
- 文件名可以包含路径,比如
"documents/my_file.txt",但要确保路径存在,否则会报错(新手可以先尝试只写文件名,文件会创建在当前程序运行的目录下)
内容的提问来源于stack exchange,提问作者Mark Eubanks




