1

時間間隔のあるイベントのリストを含むファイルがあります。次に例を示します。

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

この一連のイベントを再生できるようにしたいと思います。最初の列は、2つの連続するイベント間のデルタです(最初の列はすぐに開始され、2番目の列は0.5秒後に発生し、3番目の列は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 に答える