我有一个文件,其中包含间隔一段时间的事件列表。这是一个例子:
0, Hello World
0.5, Say Hi
2, Say Bye
我希望能够重播这一系列事件。第一列是两个连续事件之间的增量(第一个立即开始,第二个在 0.5 秒后发生,第三个在 2 秒后发生,...)
我怎么能在 Windows 上做到这一点。有什么可以确保我的时间非常准确吗?我们的想法是尽可能接近听音乐时所听到的,您不希望音频事件发生在正确的时间,而是准时发生。
这可以通过使用模块中的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]
这是一个不完美的算法,但它应该让您了解如何做到这一点。我们读取文件,将其拆分为换行符分隔列表,然后遍历每个以逗号分隔的对联休眠指定的秒数,并打印指定的字符串。
你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