Скрипт Python - как передать пароль как переменную из аргументов командной строки - PullRequest
0 голосов
/ 27 июня 2019

Я выполняю вызов REST, используя python для генерации токена доступа.Полезная нагрузка вызова REST имеет значение пароля.Я не хочу жестко задавать пароль там, но передаю его в качестве опции при запуске скрипта Python.Ниже приведена полезная нагрузка внутри скрипта Python.

payload = "grant_type=client_credentials&client_id=userid&client_secret=password&scope=AppIdClaimsTrust&intent=RequestLink"

В настоящее время я выполняю сценарий с помощью python script.py

Ответы [ 2 ]

0 голосов
/ 27 июня 2019

Вы можете использовать это, используя sys.argv.Это обеспечивает список аргументов, передаваемых в сценарий, из которых sys.argv[0] является именем сценария (или "-c").Вы можете получить доступ к первому аргументу с помощью sys.argv[1], хотя часто лучше выполнить некоторую проверку ошибок, чтобы убедиться, что вы действительно получаете то, что хотите.Я бы часто делал что-то вроде:

import sys
args = sys.argv
if args[1]:
    password = args[1]

Вы также можете использовать более надежный парсер, такой как argparse .

0 голосов
/ 27 июня 2019

Установите токен в качестве переменной среды:

$ export TOKEN=XXXXXXX

Затем с помощью библиотеки os:

#!/usr/bin/env python
import os

token = os.environ['TOKEN'] 

Используйте token там, где вы хотитеобычно это жесткий код в вашем скрипте.

Кроме того, вы можете передать его как аргумент командной строки .

$ python script.py XXXXXXXX

В вашем скрипте получите доступ к токену, используя:

#!/usr/bin/env python
import sys

if len(sys.argv) > 1:
    token = sys.argv[1]
else:
    print("No token passed")
...