У меня возникают проблемы при использовании 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 построил вам список (например, массив, но не совсем то же самое). Это действительно полезно, потому что вы можете гарантировать, что когда вы nargs
, вы всегда получите список.
Удалите параметр nargs
и вы получите строку, а не список.