我有一段代码,当在终端上运行时,如果提供了所有参数,它就可以正常工作,但是我希望有一个参数是可选的,如果提供了这个参数,则只运行IF语句,下面是我的代码:
import argparse
import sys
import csv
parser= argparse.ArgumentParser()
parser.add_argument('-r', '--range', help= 'Enter range of two m/z values in format of x,y', default= '1000,1500')
parser.add_argument('files', nargs= '*')
parser.add_argument('-a', '--amino_acid', help= 'Enter one letter code of amino acid you wish to search for (optional)')
args=parser.parse_args()
if aa in sequence:
amino_acids.append(str(sequence))
因此,我希望“if aa in sequence”部分仅在给定-a arg的情况下执行,但是当没有给定此参数时,它会尝试运行它,但失败了。谢谢您的帮助。你知道吗
错误:
Traceback (most recent call last):
File "project2.py", line 32, in <module>
if aa in sequence:
TypeError: 'in <string>' requires string as left operand, not NoneType
因为您没有提供
aa
作为参数,而sequence
是str
(本可以处理list
)in
投诉。你知道吗演示:
所以只要用以下方法解决它:
或(显式
None
测试):因此,如果
aa
为空/None
,则第二个条件不会执行相关问题 更多 >
编程相关推荐