2016-08-08 2 views
1

Проблема: я хочу написать путь каталога как вход пользователя в add.argument ArgumentParser().путь к каталогу как аргумент argparse

До сих пор: я написал это

import argparse 

parser = argparse.ArgumentParser() 
parser.add_argument('path', option = os.chdir(input("paste here path to biog.txt file:")), help= 'paste path to biog.txt file') 

Любая идея-х, что было бы идеальным решением этой проблемы?

+0

'add_argument' не принимает параметр' option'. Предполагается ли, что это имя пути из командной строки? Можно ли изменить путь после разбора? – hpaulj

+0

Может быть полезно отметить, что * argparse *, похоже, имеет серьезное ограничение: методы, добавляющие аргументы, не проверяют допустимые пути. Для меня это похоже на функциональность, но все же очень полезно. Тем временем вам нужно будет добавить свою собственную логику для проверки каждого пути. Некоторые люди написали дополнительный класс для достижения этого: https://gist.github.com/brantfaircloth/1443543 –

+0

Также см. Http://stackoverflow.com/questions/11415570/directory-path-types-with-argparse. –

ответ

2

Вы можете использовать что-то вроде:

import argparse, os 

parser = argparse.ArgumentParser() 
parser.add_argument('--path', help= 'paste path to biog.txt file') 
args = parser.parse_args() 


os.chdir(args.path) # to change directory to argument passed for '--path' 

print os.getcwd() 

Пройди путь к каталогу в качестве аргумента --path во время работы вашего скрипта. Также проверьте официальный документ для правильного использования argparse: https://docs.python.org/2/howto/argparse.html

Смежные вопросы