У меня есть набор аргументов, и все их назначение - «search_and», «search_not», «search_start», «search_then» и «filename»
Код, который я должен отловить:
if ( options.filename is None) and ( (options.search_and is None) or (options.search_not is None) or (options.search_start is None) or (options.search_then is None):
parser.error(usage)
sys.exit()
Может показаться глупой ошибкой, может кто-нибудь сказать мне, что происходит?
EDIT # 1:
Я добавил ')' в конце, чтобы убедиться, что он закрывается правильно, но он по-прежнему говорит неверный синтаксис.
if ( options.filename is None) and ( (options.search_and is None) or (options.search_not is None) or (options.search_start is None) or (options.search_then is None)):
EDIT # 2:
Вот что у меня есть.
import optparse from OptionParser
usage = "useage: %prog [options]"
parser = OptionParser(usage)
parser.add_option("-a", "--all", type="string", dest="search_and", help="find ALL lines in the file for the word1 AND word2")
parser.add_option("-b", "--all", type="string", dest="search_not", help="search and find the lines that contain words1 not word2")
parser.add_option("-c", "--all", type="string", dest="search_start", help="search and find a line that starts with word1 or word2")
parser.add_option("-d", "--all", type="string", dest="search_then", help="search and find a line that has word1 followed by word2")
parser.add_option("-f", "--file", type="string", dest="filename", help="file name"
if ( options.filename is None) and ( (options.search_and is None) or (options.search_not is None) or (options.search_start is None) or (options.search_then is None)):
После запуска кода:
python script.py -a привет пока
Я получаю неверный синтаксис с оператором if.