簡體   English   中英

使用來自 python 的附加參數運行 shell 腳本並將輸出作為 python 變量(API 身份驗證)

[英]Run shell script with additional parameters from python and get output as python variable (API authentication)

有人可以幫我解決以下問題:

我有這條線,我通常在終端中運行:

 path/to/mysh/script.sh PROD generate-ticket username

它在終端中給了我以下輸出:

{"user":{"Userid":123,"firstName":"Joe","SecondName":"Doe","loginName":"jdoe"},"accessToken":"1235df6543cggf432sa24"}

我需要分配給 python 變量的“accessToken”值。

我的代碼:

import subprocess
import json 

username ='jdoe'

def get_Access_Token(username):
    s = json.loads(subprocess.check_output(['path/to/mysh/script.sh', 'PROD', 'generate-ticket', username]))


print (s['accessToken'])

但是在嘗試打印我的變量時它給了我以下錯誤:

NameError: name 's' is not defined

提前致謝!

從函數返回值。

前任:

import subprocess
import json 

username ='jdoe'

def get_Access_Token(username):
    return json.loads(subprocess.check_output(['path/to/mysh/script.sh', 'PROD', 'generate-ticket', username]))['accessToken']

print (get_Access_Token(username))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM