我现在正在为一个个人项目创建一个程序的一部分,我需要一些帮助。
以下是该程序的工作原理:
- 用户输入运行时间
- 用户输入文本 - 文件已修改
- 定时器启动
- 可选用户可以输入“密码”来中断定时器
- 动作反转
除了计时器之外,我已经对所有步骤进行了编码,因为我正在尝试找出最好的方法来做到这一点。理想情况下,我希望计时器显示倒计时,如果用户输入某个“密码”,计时器就会中断并跳到第 5 步。
最好的方法是使用线程吗?过去我对线程的工作不多。我只需要以某种方式显示计时器,同时还可以将控制权交还给用户,以防他们想输入该密码。
感谢您提供的任何帮助。
这是代码:
import time
import urllib
import sys
def restore():
backup = open(r'...backupfile.txt','r')
text = open(r'...file.txt', 'w+')
text.seek(0)
for line in backup:
text.write(line)
backup.close()
text.close()
text = open(r'...file.txt', 'a+')
backup = open(r'...backupfile.txt','w+')
text.seek(0)
for line in text:
backup.write(line)
backup.close()
while True:
url = raw_input('Please enter a URL: ')
try:
if url[:7] != 'http://':
urllib.urlopen('http://' + url)
else:
urllib.urlopen(url)
except IOError:
print "Not a real URL"
continue
text.write(url)
while True:
choice = raw_input('Would you like to enter another url? (y/n): ')
try:
if choice == 'y' or choice == 'n':
break
except:
continue
if choice == 'y':
text.seek(2)
continue
elif choice == 'n':
while True:
choice = raw_input('Would you to restore your file to the original backup (y/n): ')
try:
if choice == 'y' or choice == 'n':
break
except:
continue
if choice == 'y':
text.close()
restore()
sys.exit('Your file has been restored')
else:
text.close()
sys.exit('Your file has been modified')
如您所见,我还没有添加计时部分。这很简单,只需将 url 添加到文本文件然后关闭它们。如果用户想要原始文件,则调用 reverse()。