2015-05-09 58 views
0

我有一個固定的2小時工作(四個30分鐘部分),我想從Python控制檯應用程序的菜單選項中啓動。你能幫我設計一下嗎?Python控制檯應用程序設計狀態和交互

當用戶單擊菜單選項啓動作業時,我想在作業運行時給出某種狀態。也許顯示每個部分30分鐘倒計時。

我希望能夠通過菜單選項(而不是鍵盤中斷)取消作業。

因此,程序的交互式部分仍然允許用戶在作業運行時檢查其他菜單選項。

My initial questions are below. I know I can research most of these but I want To know if I'm asking myself the right questions. 
1. Would the job need to run in the background? If so, how can I cancel something in the background? 
2. Best way to initiate to background? 
3. Can I show 30 min count down, while still maintaining the interactivness? 

粗糙說明:

Running Jobs: 
Job 1: 29:30 time left 
Interactive console menu: 
1. Start Job 1 - started 
2. Do other things 
3. Exit 
+0

你提到的這份工作到底是什麼?它是一個Python函數或什麼? – skyline75489

+0

是的,這是一個Python程序。 – Rod

+0

另一個python腳本或只是一個函數? – skyline75489

回答

2

背景部分比較容易。有許多庫,如TwistedgeventTornado,它們提供事件循環支持。您可以使用他們的事件循環讓作業在後臺運行。像schedule這樣的庫也可以做類似cron的工作調度。

保持交互性是很難的部分。您必須使用subprocessthreading才能開始工作,以保持終端互動。並且要顯示時間倒計時,您可能需要使用詛咒庫,如urwidnpyscreen

+0

感謝您的反饋。也許有一天我去了GUI。我已經做了一些四處尋找,到目前爲止Qt看起來像一個很好的框架。有什麼想法嗎? – Rod

+0

Qt很好。它可能是唯一的GUI庫,在幾乎所有的平臺上都有非常出色的性能。還有像python和pySide這樣的python綁定。 – skyline75489

相關問題