У меня есть сценарий, в который пользователи включают пути для входных и выходных файлов.Каков наилучший способ «заставить» пользователей использовать определенное расширение файла с помощью argparse?
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("i", help = "input path")
parser.add_argument("o", help = "output path")
args = parser.parse_args()
file_input = args.input
file_output = args.output
Теперь я хочу, чтобы убедиться, что пользователи создают выходной файл, который представляет собой текстовый файл с расширением .txt
.
(1) Я мог бы с помощью ошибки сообщить пользователям, что они должны использовать расширение txt.
(2) Я мог проверить, было ли использовано расширение .txt
. Если нет, я просто добавлю его.
Первое относительно легко:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("i", help = "input path")
parser.add_argument("o", help = "output path")
args = parser.parse_args()
file_input = args.input
file_output = args.output
if file_output.endswith("txt") != True:
raise argparse.ArgumentTypeError('File must end in extension .txt!')
Как один выполнить последний?
'if not file_output.endswith ('. Txt'): file_output + = '.txt''? – mgilson
Кроме файла 'file_output + = '.txt''? –
Взгляните на [этот вопрос] (http://stackoverflow.com/questions/15203829/python-argparse-file-extension-checking), я думаю, что он похож на ваш. – linpingta