首先,抱歉标题不精确(如果有人有更好的建议如何命名这个帖子随时告诉我),我的问题就不那么复杂了。
我用Python编写了一个小程序,我执行命令行:
import os
os.system("sudo rtcwake -m off -s 100")
有些人可能知道它只是一个rtcwake命令,关闭计算机并再次打开它(100秒后)。
我想以一种方式实现这个程序,当执行时(例如从控制台),用户可以输入计算机应该停机的秒数,而不是预先确定100秒。
这样做的正确方法是什么?
答案 0 :(得分:1)
format
是你的朋友:
import os, sys
if len(sys.argv) == 2:
os.system("sudo rtcwake -m off -s {}".format(sys.argv[1]))
else: print "usage: ..."
所以秒是命令行参数。或者,您可以将其设为互动:
import os
secs = raw_input()
os.system("sudo rtcwake off -s {}".format(secs))
验证用户输入是否为整数:
try: secs = int(secs)
except: print 'usage: '
答案 1 :(得分:1)
parser = argparse.ArgumentParser(description='Shutdown your computer and turns it on after x seconds.')
parser.add_argument('delay', metavar='x', type=int,
help='The number of seconds the computer should be down.', default=100)
args = parsre.parse_args()
x = args.delay