Python 转换为argparse时字符串索引超出范围
我从optparse更改为argparse,但当我尝试运行它时,出现以下错误:Python 转换为argparse时字符串索引超出范围,python,argparse,optparse,Python,Argparse,Optparse,我从optparse更改为argparse,但当我尝试运行它时,出现以下错误: if not option_string[0] in self.prefix_chars: IndexError: string index out of range 我的代码是: usage = "%prog -f <fasta TFs> -a <database all> -s <database small> -d <pfam database> [op
if not option_string[0] in self.prefix_chars:
IndexError: string index out of range
我的代码是:
usage = "%prog -f <fasta TFs> -a <database all> -s <database small> -d <pfam database> [options]"
version = "1.0.1"
description = " "
epilog = " "\
" "
parser = argparse.ArgumentParser(usage=usage, description=description,
version="%prog "+version, epilog=epilog)
# options for running the program
# TF file
parser.add_argument("-f", "", dest="TF", metavar="<file>",
help="input file with transcription factors")
parser.set_defaults(fasta=None)
usage=“%prog-f-a-s-d[选项]”
version=“1.0.1”
description=“”
epilog=“”\
" "
parser=argparse.ArgumentParser(用法=用法,说明=说明,
version=“%prog”+版本,epilog=epilog)
#运行程序的选项
#TF文件
parser.add_参数(“-f”,”,dest=“TF”,metavar=“”,
help=“带有转录因子的输入文件”)
parser.set_默认值(fasta=None)
我找不到这个错误的来源,如何解决这个问题?获取这个错误的唯一方法是请求一个不存在的索引——在这种情况下,
选项字符串必须是空的。获取这个错误的唯一方法是请求一个不存在的索引——在这种情况下,选项\u字符串
必须为空。在argparse中,不能传递空参数字符串来添加\u参数。argparse正在尝试在传递的空字符串(“”)中查找有效的前缀_char(例如“-”或“-”)导致错误。请尝试以下方法:
parser.add_argument("-f", dest="TF", metavar="<file>",
help="input file with transcription factors")
parser.add_参数(“-f”,dest=“TF”,metavar=”“,
help=“带有转录因子的输入文件”)
在argparse中,不能传递空参数字符串来添加参数。argparse正在尝试在传递的空字符串(“”)中查找有效的前缀_char(例如“-”或“-”)导致错误。请尝试以下方法:
parser.add_argument("-f", dest="TF", metavar="<file>",
help="input file with transcription factors")
parser.add_参数(“-f”,dest=“TF”,metavar=”“,
help=“带有转录因子的输入文件”)
确实如此-并且“option\u string”的“empty”字符串来自add\u参数调用中“-f”后面的空字符串。检查argparse文档,了解如何在命令行optionAnded上添加“-f”,并且“option\u string”的“空”字符串来自add\u参数调用中“-f”后面的空字符串。查看argparse文档,了解如何使在命令行上添加“-f”成为可选