Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 转换为argparse时字符串索引超出范围_Python_Argparse_Optparse - Fatal编程技术网

Python 转换为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

我从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> [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”成为可选