You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

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

火山引擎 最新活动