我有一个文件,其中包含一段时间间隔的事件列表。这是一个例子:
0, Hello World
0.5, Say Hi
2, Say Bye
我希望能够重播这一系列事件。第一列是两个连续事件之间的差值(第一列是第一次开始,第二列是0.5秒后,第二列是2秒后,......)
我如何在Windows上执行此操作。有没有什么可以确保我在时间上非常准确?我们的想法是尽可能接近列出某些音乐的内容,你不希望你的音频事件发生在接近正确的时间但恰好按时发生。
答案 0 :(得分: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]
这是一个不完美的算法,但它应该让你知道如何做到这一点。我们读取文件,将其拆分为换行符分隔列表,然后按指定的秒数浏览每个以逗号分隔的对联,并打印指定的字符串。
答案 1 :(得分:1)
你在Python中寻找time.sleep(...)
。
如果您将该文件作为列表加载,然后打印值
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