Argparse "команда не найдена" - PullRequest
0 голосов
/ 03 января 2019

С простым паролем (до 10 символов) работает argpass

parser = argparse.ArgumentParser()
parser.add_argument('-p', '-password',dest='pwd',help='The password for authentication.')
args = parser.parse_args()

user = 'monitoring@domain.com'
pwd = args.pwd

conn = imaplib.IMAP4_SSL("outlook.office365.com")
conn.login(user,pwd)

Но со сложным паролем из 13 символов я получаю

[1] 26160
bash: xxxxxxxx: command not found

(где xxxxxxxx - последние 8 символов пароля)

script.py -password somepassword

1 Ответ

0 голосов
/ 03 января 2019

Вы запускаете что-то вроде

script.py -password foo&xxxxxxxx

которую ваша оболочка анализирует как

script.py -password foo & xxxxxxxx

, в результате чего команда script.py -password foo запускается в фоновом режиме, а затем пытается выполнить команду xxxxxxxx. Цитировать пароль.

script.py -password 'foo&xxxxxxxx'
...