架構:給服務器APIKey,取得資料計算後,呈現在GoogleSheet
現況:服務器一次僅能接受一組APIKey。我目前使用兩個陽春方法,(1)在相同Python程式
改APIKey,(2)每一個APIKey都寫一個Python程式。
期待:希望可以在一個Python程式中,放進所有的APIKey。爬文有看到將APIKey放在config裡頭,或者import asyncio,但看不懂,請教前輩解法。感恩。
你沒有講清楚API key和服務之間的關係,看你的描述,我猜測可能有兩種情況
將API key存在list中,使用random去取API key,並加上"達到上限"的判斷機制
import random
apikeys = ["A", "B", "C", "D"]
for i in range(10):
print(apikeys[random.randint(0, len(apikeys)-1)])
將API key存在dic中,不同服務對應不同API key,同時對應不同function
def Service1(data):
print(data)
def Service2(data):
print(data)
def Service3(data):
print(data)
apikeys = {
"Service1": "Key1",
"Service2": "Key2",
"Service3": "Key3"
}
Service1(apikeys["Service1"])
Service2(apikeys["Service2"])
Service3(apikeys["Service3"])
將API key存在另外的config中,目的是為了讓程式跟資料分開,當程式關閉又再打開時,可以根據config的結果接著上次的行為繼續進行,是非常常見的方法,不過不用拘泥於格式,只要另外開檔案儲存資料就可,只要你開心,txt都沒問題,我自己就會直接使用json檔案存類似的config資料。
import json
config = {}
with open("settings.json", 'r') as fp:
config = json.load(fp)
print(config)