我希望用一個聲明「True
」和「False
」爲我的Python(2.7)命令提示符使用聲明真假的Python 2.7
segmentation_accuracy(reference=REFERENCE, segmented=SEGMENTED, output=OUTPUT, method=METHOD, threshold=THRESHOLD, sep=SEP, header=HEADER)
如果標題是True
打印帶有標題的文本文件,如果標題爲False
則打印一個沒有標題的文本文件。
:
REFERENCE = raw_input("Reference (*.shp):")
SEGMENTED = raw_input("Segmented (*.shp):")
METHOD = raw_input("Method (ke, pu, clinton):")
if METHOD != "ke" and METHOD != "pu" and METHOD != "clinton":
raise ValueError("%s is not a valid method" % METHOD)
if METHOD == "ke" or METHOD == "clinton":
THRESHOLD = input("Threshold (0.0 - 1.0):")
if not check_threshold(THRESHOLD):
raise AccuracyException("Threshold of %s is not valid" % THRESHOLD)
else:
THRESHOLD = None
SEP = raw_input("Sep:")
HEADER = raw_input("Header (True/False):")
if HEADER is not True or HEADER is not False:
raise ValueError("%s is not valid" % HEADER)
# output
OUTPUT = raw_input("Output (*.txt):")
當我在Windows中運行命令提示符下,如果我設置raw_input("Header (True/False):")
True
或False
,我總是得到ValueError
我還使用了組合
if HEADER != True or HEADER != False:
raise ValueError("%s is not valid" % HEADER)
與同樣的問題
不要使用'is'和'不是'與除None之外的任何東西進行比較。使用'=='或'!='。(那麼,不要使用任何布爾值;只是'如果HEADER' – geoffspear 2013-03-18 15:03:07
Wooble,我做了,但我總是有同樣的問題 – 2013-03-18 15:04:16
(這不解決'raw_input'問題,這就是爲什麼我沒有發佈它作爲回答;這只是關於你的代碼中的其他錯誤的一般觀點) – geoffspear 2013-03-18 15:04:55