首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用循环迭代打印状态更新(python)

不使用循环迭代打印状态更新(python)
EN

Stack Overflow用户
提问于 2017-09-18 03:12:50
回答 1查看 344关注 0票数 0

我有一个非常简单的函数,它只是一个数据写入列表,但每次写入需要5-10秒,所以该函数需要大约一个小时才能运行。因为没有循环,所以没有迭代变量。向用户更新进度的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-18 03:29:29

你有没有考虑过logging模块?您可以创建不同类型的处理程序来处理日志消息。这是一个简单的示例,但是一般的想法是,您可以将日志记录消息放入脚本中,这些消息将写入文件、打印到控制台的流或其他内容。

代码语言:javascript
复制
import datetime
import logging
import time

logger = logging.getLogger('a_name')
logger.setLevel(logging.DEBUG)
sh = logging.StreamHandler()  # prints to console
logger.addHandler(sh)

 with open('/tmp/test_file.txt', 'w') as f:
    logger.info('beginning writing file at ' + str(datetime.datetime.now()))
    time.sleep(30)  # this is a proxy for doing some file writing
    logger.info('the time now is' + str(datetime.datetime.now()))
    ...
    loggering.info('file done being written')

您可能希望查看格式化日志消息的信息,这样就不必像我那样以一种优雅的方式包含日期时间字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46267901

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档