如何在Python中将程序输入与输出记录到文本文件中?
如何将程序的输入和输出记录到文本文件?
你可以用Python的logging模块实现需求,它能同时把交互内容输出到控制台并写入文件,下面是匹配你示例场景的完整代码:
import logging # 配置logging:同时输出到控制台和log.txt文件 logging.basicConfig( level=logging.INFO, format='%(message)s', handlers=[ logging.FileHandler('log.txt'), # 写入日志文件 logging.StreamHandler() # 在控制台显示内容 ] ) def main(): # 提问并记录问题 logging.info("What's your name?") name = input() logging.info(name) # 记录用户输入的名字 logging.info("\nHow old are you?") age = input() logging.info(age) logging.info("\nWhere are you from?") location = input() logging.info(location) # 生成结果并记录 result = f"\nHi {name}, you're {age} years old and you're from {location}!" logging.info(result) if __name__ == "__main__": main()
说明:
- 运行代码后,所有的提问内容、你的输入以及最终的结果,都会同步出现在控制台和
log.txt文件里,和你给出的示例交互格式完全一致。 - 如果不需要在控制台显示内容,只保留
logging.FileHandler('log.txt')即可。 - 要是后续需要添加时间戳等日志信息,只需修改
format参数,比如改成format='%(asctime)s - %(message)s',就能在每条记录前加上时间。
内容的提问来源于stack exchange,提问作者tears
相关产品推荐
相关产品推荐

