Я пытаюсь написать простой python скрипт, который будет переименовывать файлы в каталоге, используя соглашения об именах. Для этого мне нужен путь к каталогу и количество файлов для обработки. По умолчанию я хочу, чтобы скрипт переименовал все файлы в каталоге.
import os
import sys
import shutil
import argparse
parser = argparse.ArgumentParser(description='Rename files in the directory, using naming conventions')
parser.add_argument('name', help='first part of a new name')
parser.add_argument('--dir', default=os.getcwd(), help='directory containing files')
parser.add_argument('--num', type=int, default = len([file for file in os.listdir(parser.parse_args().dir)]),
help='number of files to rename')
args = parser.parse_args()
А вот вывод только для аргумента '-h':
usage: rename.py [-h] [--dir DIR] name
Rename files in the directory, using naming conventions
positional arguments:
name first part of a new name
optional arguments:
-h, --help show this help message and exit
--dir DIR directory containing files
Мне кажется, что последний аргумент не обрабатывается из-за parser.parse_args().dir
.
Есть ли способ получить информацию о предыдущем аргументе, не анализируя его?