python argparse 数组而不是 str
python argparse array instead of str
我 运行 在使用 argparse 时遇到问题。使用以下代码,我预计
args.dir 是一个字符串,但我得到了一个数组。我怎样才能得到一个字符串?有人可以帮忙吗?
#!/usr/bin/env python3
import sys
import argparse
#import mysql.connector
# Set version number
version = '1.0.0'
# Parse arguments supplied on the commandline
argparser = argparse.ArgumentParser(description=sys.argv[0])
argparser.add_argument('dir', nargs=1, type=str, help='directory to view')
args = argparser.parse_args()
# Print program name and version number to stdout
print(argparser.prog + " v" + version)
print('Creating index for: ' + args.dir[0])
您指定了 nargs=1
,即使您提供了值 1,argparse 也为您构建了一个列表(类似于数组,但 not exactly the same thing)。这实际上很有用,因为您可以保证当您指定 nargs
时,您将始终获得一个列表。
删除 nargs
参数,您将得到一个字符串而不是列表。
我 运行 在使用 argparse 时遇到问题。使用以下代码,我预计 args.dir 是一个字符串,但我得到了一个数组。我怎样才能得到一个字符串?有人可以帮忙吗?
#!/usr/bin/env python3
import sys
import argparse
#import mysql.connector
# Set version number
version = '1.0.0'
# Parse arguments supplied on the commandline
argparser = argparse.ArgumentParser(description=sys.argv[0])
argparser.add_argument('dir', nargs=1, type=str, help='directory to view')
args = argparser.parse_args()
# Print program name and version number to stdout
print(argparser.prog + " v" + version)
print('Creating index for: ' + args.dir[0])
您指定了 nargs=1
,即使您提供了值 1,argparse 也为您构建了一个列表(类似于数组,但 not exactly the same thing)。这实际上很有用,因为您可以保证当您指定 nargs
时,您将始终获得一个列表。
删除 nargs
参数,您将得到一个字符串而不是列表。