나는 아래의 코드가 작동하지 않는 이유를 잘 모르겠습니다 - 난 .. 난 그 예를 들어, 그래서 만약 명령 행 입력을 구문 분석하려고 getopt를 사용하려고하기 전에getopt가 제대로 작동하지 않습니다. 내가 뭘 잘못하고 있습니까?
NameError: name 'group1' is not defined.
코드는 잘 작동 오류를 얻을 나는 넣었다.
python -q file1 file2 -r file3 file4
file1과 file2가 첫 번째 루프의 입력이되는 'group1'이된다.
import sys
import csv
import vcf
import getopt
#set up the args
try:
opts, args = getopt.getopt(sys.argv[1:], 'q:r:h', ['query', 'reference', 'help'])
except getopt.GetoptError as err:
print str(err)
sys.exit(2)
for opt, arg in opts:
if opt in ('-h', '--help'):
print "Usage python -q [query files] -r [reference files]"
print "-h this help message"
elif opt in ('-q', '--query'):
group1 = arg
elif opt in ('-r', '--reference'):
group2 = arg
else:
print"check your args"
#extract core snps from query file, saving these to the set universal_snps
snps = []
outfile = sys.argv[1]
for variants in group1:
vcf_reader = vcf.Reader(open(variants))