python - 以定时间隔迭代循环 - Python 3.0
问题描述
我想我会注册帮助我学习更多的 Python 编码。我最近注册了代码学院,并一直在学习在线 Python 课程,这对我有很大帮助。
我决定给自己一个小项目继续学习,但遇到了问题(在这里搜索,仍然没有帮助。)
我想为 midi 步进音序器编写一个小代码函数,为简单起见,我现在省略 midi 并以最合乎逻辑的方式查看它。
我想做的是:
- 输入一组 MIDI 音符编号
- 将这些附加到列表中
- 以定时间隔 (BPM) 循环遍历此列表 - 例如 60,000 / 120 bpm = 500 毫秒之间的四分音符 / 24 PPQN = 20.8333 毫秒/脉冲。
我遇到的麻烦是我找不到任何可能的方法来遍历时域中的列表。我已经查看了该time.sleep
功能,但阅读这还不够准确。有没有别的方法。我不想使用任何库。
任何指针都会有很大的帮助,因为我正在努力寻找任何可用资源,以便在循环中每个值之间的指定时间量内运行循环。
解决方案
你能说为什么睡眠不够准确吗?
如果您愿意,您可以使用类似 time.thread_time_ns 的方式自己跟踪经过的时间
所以:
def sleep(pause_time):
initial_time = time.thread_time_ns()
while( time.thread_time_ns() - initial_time < pause_time):
pass
所以这是你自己的睡眠功能
推荐阅读
- c - 获取 bash 命令的输出并将其作为命令行参数传递给 ac 可执行文件(管道)
- asp.net-core - Swashbuckle 用 VS XML 注释中的双引号将数字示例包装起来
- x-frame-options - URL 重写标头中缺少的 X-Frame-Options
- c++ - 从文件写入到类成员函数并在 C++ 中的控制台上打印?
- c - 为什么这两个函数的结果不同?
- android - 在 Android 应用程序中哪里可以找到数据库连接
- node.js - 在本地 Windows nodeJS 安装中运行“ng new”会给出 npm 错误
- postgresql - 在 Slick 中添加评论
- php - Laravel 5.7 外键约束格式不正确
- python - 如何在 yattag 中添加提取的 html?