массив python argparse вместо str - PullRequest
0 голосов
/ 30 августа 2018

У меня возникают проблемы при использовании 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])

1 Ответ

0 голосов
/ 30 августа 2018

Вы указали nargs=1, и хотя вы указали значение 1, argparse построил вам список (как массив, но не совсем то же самое ). Это на самом деле полезно, потому что вы можете гарантировать, что при указании nargs вы всегда получите список.

Удалите параметр nargs, и вы получите строку, а не список.

...