0
我试图让一段python(2.7)代码工作。代码如下:如果2个条件成立,打开文件,否则打印
import os
def parseOptions():
import optparse
parser = optparse.OptionParser(usage= '-h')
parser.add_option('-t', '--type', \
choices= ('Warning', 'Error', 'Information', 'All'), \
help= 'The type of error',
default= 'Warning')
parser.add_option('-g', '--goback', \
type= 'int')
(options, args) = parser.parse_args()
return options
options = parseOptions()
if options.type=='All' and options.goback=='24':
os.startfile('logfile.htm')
else:
print
print 'Type =', options.type,
print
print 'Go Back =', options.goback,'hours'
print
我的问题是与if语句,就特别需要这两个选项是那些确切的投入,它应该打开名为lofile.htm
文件但此刻它只是正常打印而不打开文件。
如果我删除'和options.goback'功能只留下'如果options.type'它打开文件。但是,如果我只有options.goback部分,它也不起作用。
所以我的问题是与'option.goback =='24'行':'我只是不确定如何纠正它。因为目前参数打印正确,它只是不知道它是什么数字。
任何帮助,将不胜感激!
- M
替换 '24' 通常,如果遇到这样的问题,在'问题print'ing的值是一个好主意。因此,在'if'之前插入'print repr(options.goback)'来查看当前选项的值。它可能会打印'24'而不是''24“',因此会告诉你它是一个int而不是一个字符串。 – Alfe
谢谢Alfe,我会把它带上,并用于未来的项目。 – Mitchell