我想知道是否有可能在任何給定的點在一個基本的Python腳本中執行一個動作,所以說它什麼時候關閉。我有以下代碼來尋找素數(只是爲了好玩)作爲python腳本關閉執行一個動作
number = 1
primelist = []
nonprime = []
while number < 1000:
number += 1
for i in range(number):
if i != 1 and i != number and i !=0:
if number%i == 0:
nonprime.append(number)
else:
primelist.append(number)
nonprimes = open("nonprimes.txt", "w")
for nonprime in set(primelist) & set(nonprime):
nonprimes.write(str(nonprime) + ", ")
nonprimes.close()
所以基本上我想運行最後一部分,因爲腳本停止。如果這是不可能的,有什麼方法可以讓我在程序運行時按「空格」,然後保存列表?
乾杯提前:)
編輯:
我已經修改了代碼,包括atexit對模塊的建議,但它似乎沒有奏效。那就是:
導入時,atexit對
class primes():
def __init__(self):
self.work(1)
def work(self, number):
number = 1
self.primelist = []
self.nonprime = []
while number < 20:
time.sleep(0.1)
print "Done"
number += 1
for i in range(number):
if i != 1 and i != number and i !=0:
if number%i == 0:
self.nonprime.append(number)
else:
self.primelist.append(number)
nonprimes = open("nonprimes.txt", "w")
for nonprime in set(self.primelist) & set(self.nonprime):
nonprimes.write(str(nonprime) + ", ")
nonprimes.close()
def exiting(self, primelist, nonprimelist):
primelist = self.primelist
nonprimelist = self.nonprime
nonprimes = open("nonprimes.txt", "w")
for nonprime in set(self.primelist) & set(self.nonprime):
nonprimes.write(str(nonprime) + ", ")
nonprimes.close()
atexit.register(exiting)
if __name__ == "__main__":
primes()
什麼叫半句是什麼意思? – kvivek 2013-02-28 12:18:59
它將列表保存到.txt文件的部分,對不起,沒有指定 – ReallyGoodPie 2013-02-28 12:25:35
您正在尋找的內容稱爲多線程。請參閱http://docs.python.org/2/library/multiprocessing.html – 2013-02-28 12:27:40