0
点赞
收藏
分享

微信扫一扫

python编程( 第一份Windows平台运行的python代码)



 

    在windows上面编程其实不复杂,特别是python这一类的脚本语言。如果代码本身是以socket为主的应用,那么使用python就再合适不过了。不过和linux稍微有点区别的是,windows下面的ctrl+c无法像linux一样,被当做信号进行捕捉。在这一点上面需要稍微注意一下。所以,对于我自己来说,一般用raw_input和except的方法进行处理。

#!/usr/bin/python

import os
import sys
import re
import time
import threading

lock = threading.Lock()
g_exit = 0

def calculate(data):
cnt = 0
for i in range(data):
cnt += i +1
return cnt

def process():
global lock
cnt = 1
while not g_exit:
print cnt

lock.acquire()
cnt += 2
lock.release()
time.sleep(1)

def main():

td = threading.Thread(target = process)
td.start()
while True:
try:
data = raw_input('')
except:
break

if data[0] == 'q':
break

print time.time()
try:
print calculate(int(data))
except:
break

print time.time()
print '\n'

global g_exit
g_exit = 1
td.join()

if __name__ == '__main__':
main()

注意这里使用了raw_input的方法,其实就相当于main thread被阻塞在这个地方。等到我们输入ctrl+c的时候就会触发异常,此时代码就会从循环中跳出来。这样不会出什么意外。当然,为了保证程序的正常运行,还是建议大家直接输入quit来停止程序,这样更友好一些,也有益于回收资源。

 

 

举报

相关推荐

0 条评论