【 聲明:版權所有,歡迎轉載,請勿用于商業用途。 聯系信箱:feixiaoxing @163.com】
?
??? 在windows上面編程其實不復雜,特別是python這一類的腳本語言。如果代碼本身是以socket為主的應用,那么使用python就再合適不過了。不過和linux稍微有點區別的是,windows下面的ctrl+c無法像linux一樣,被當做信號進行捕捉。在這一點上面需要稍微注意一下。所以,對于我自己來說,一般用raw_input和except的方法進行處理。
#!/usr/bin/pythonimport os
import sys
import re
import time
import threadinglock = threading.Lock()
g_exit = 0def calculate(data):cnt = 0for i in range(data):cnt += i +1return cntdef process():global lockcnt = 1while not g_exit:print cntlock.acquire()cnt += 2lock.release()time.sleep(1) def main():td = threading.Thread(target = process)td.start()while True:try:data = raw_input('')except:breakif data[0] == 'q':breakprint time.time()try:print calculate(int(data))except:breakprint time.time()print '\n'global g_exitg_exit = 1td.join()if __name__ == '__main__':main()
windows python。??? 注意這里使用了raw_input的方法,其實就相當于main thread被阻塞在這個地方。等到我們輸入ctrl+c的時候就會觸發異常,此時代碼就會從循環中跳出來。這樣不會出什么意外。當然,為了保證程序的正常運行,還是建議大家直接輸入quit來停止程序,這樣更友好一些,也有益于回收資源。
?
?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态