Python创建文本文件后如何打印输出生成的完整文件名
实现方案
核心修改逻辑:提前把拼接好的文件名存为独立变量,文件创建完成后按要求格式打印即可,同时优化文件打开写法避免资源泄漏。
修改点说明
- 新增变量存储完整拼接后的文件名,不用在
open()函数里直接写拼接表达式,方便后续打印、读写文件时复用 - 改用
with上下文管理器创建文件,执行完操作后会自动关闭文件句柄,不需要手动调用close(),更安全 - 打印时拆分出不带后缀的文件名主体,拼接
.....txt后缀,完全匹配要求的输出格式
修改后完整代码
from datetime import datetime default_name_begining_of_the_file = "Investment_result_" savereport = input("Save result to text file? ") if savereport in ["y", "yes", "YES"]: nameoffileinput = (input("Name of begining of the file: ") or default_name_begining_of_the_file) generatedatetime = datetime.now().strftime("%Y_%m_%d-%I%M%S_%p") # 提前存储完整文件名 full_filename = f'{nameoffileinput}_{generatedatetime}.txt' # 安全创建文件 with open(full_filename, 'w', encoding='utf-8') as f: # 后续如果需要写入报告内容,直接操作f对象即可 pass # 按要求格式打印文件名 print(f"{full_filename.rsplit('.', 1)[0]}.....txt") else: print("Result will not be written to text file.")
输出效果示例
如果使用默认前缀、对应时间生成文件,控制台输出类似:
Investment_result_2024_05_22-043522_PM.....txt
对应实际创建的文件名为Investment_result_2024_05_22-043522_PM.txt。
内容的提问来源于stack exchange,提问作者Peter N
相关产品推荐
相关产品推荐

