1

我有一个文件,其中包含间隔一段时间的事件列表。这是一个例子:

0, Hello World
0.5, Say Hi
2, Say Bye

我希望能够重播这一系列事件。第一列是两个连续事件之间的增量(第一个立即开始,第二个在 0.5 秒后发生,第三个在 2 秒后发生,...)

我怎么能在 Windows 上做到这一点。有什么可以确保我的时间非常准确吗?我们的想法是尽可能接近听音乐时所听到的,您不希望音频事件发生在正确的时间,而是准时发生。

4

2 回答 2

1

这可以通过使用模块中的sleep函数轻松完成time。确切的代码应该像这样工作:

import time

# Change data.txt to the name of your file
data_file = open("data.txt", "r")

# Get rid of blank lines (often the last line of the file)
vals = [i for i in data_file.read().split('\n') if i]

data_file.close()

for i in vals:
    i = i.split(',')
    i[1] = i[1][1:]
    time.sleep(float(i[0]))

    print i[1]

这是一个不完美的算法,但它应该让您了解如何做到这一点。我们读取文件,将其拆分为换行符分隔列表,然后遍历每个以逗号分隔的对联休眠指定的秒数,并打印指定的字符串。

于 2012-12-03T17:22:07.793 回答
1

time.sleep(...)在 Python 中寻找。

如果将该文件作为列表加载,然后打印值,

import time

with open("datafile.txt", "r") as infile:
   lines = infile.read().split('\n')

   for line in lines:
      wait, response = line.split(',')
      time.sleep(float(wait))
      print response
于 2012-12-03T17:25:15.087 回答