2017-06-12 67 views
1

我想運行一段python腳本(或其中定義的函數)一段時間間隔,比如67秒。我嘗試了以下,但程序不會停止運行。在python中運行一個函數'x'no。只有幾秒鐘

strt = time.time() + 67 
print(strt) 

with open('csv_data.csv', 'w') as f1: 
    writer = csv.writer(f1) 

    if z1serial.is_open: 
     while True: 
      while (time.time() < strt): 
       clock.tick(60) 
       size = z1serial.inWaiting() 
       if size: 
        data = (z1serial.read(size)) 
        writer.writerow(data) 
        writer.writerow('',) 

回答

2

因爲這裏有一個嵌套循環,而外層循環是一個無限循環。內循環將在特定時間段後停止,但外循環不會。取下外環

with open('csv_data.csv', 'w') as f1: 
    writer = csv.writer(f1) 

    if z1serial.is_open: 
     while (time.time() < strt): 
      clock.tick(60) 
      size = z1serial.inWaiting() 
      if size: 
       data = (z1serial.read(size)) 
       writer.writerow(data) 
       writer.writerow('',) 
+0

感謝@ e4c5但我需要從一個串口數據的連續取外環 –

+1

好你想要的程序後67秒退出,你怎麼能指望這樣做,當你有一個無限循環? – e4c5

+0

對不起,我有點困惑。謝謝。它終於跑了。 –

相關問題