如何在Python中实现用户输入文件名并自动拼接当前日期时间?
实现方法
你只需要先通过input()接口获取用户输入的文件名前缀,再将前缀拼接到原日期格式化规则的头部即可,修改后的完整可运行代码如下:
import csv import datetime # 此处替换为你自己的数据源 datas = [["测试商品1", "99.9"], ["测试商品2", "199.9"]] # 获取用户输入的文件名前缀,strip()用来去除首尾多余空格 file_prefix = input("请输入文件名前缀:").strip() # 可选:如果用户输入为空,设置默认前缀 if not file_prefix: file_prefix = "Product_Name" # 拼接前缀生成目标文件名 filename = datetime.datetime.now().strftime(f'{file_prefix}-%Y-%m-%d-%H-%M.csv') with open(filename, "w+", encoding="utf-8-sig") as f_output: csv_output = csv.writer(f_output) csv_output.writerow(["Name", "Price"]) for d in datas: csv_output.writerow(d)
补充说明
- 代码中新增了
encoding="utf-8-sig"参数,可避免Windows系统下打开生成的CSV文件出现中文乱码问题,不需要可以直接删掉 - 你参考的W3School示例代码是用来提取文件后缀的,和当前需求无关,不需要引入相关逻辑
- 如果你之前导入datetime的写法是
from datetime import datetime,那么生成文件名的代码可以直接用你原来的datetime.now()写法,不用加前导的datetime.
内容的提问来源于stack exchange,提问作者Muhammad Yusril Nur Ramadhan
相关产品推荐
相关产品推荐

