Я не знаю, когда будет оптимальным входить в gspread при бесконечном выполнении моего скрипта на python.

def openSheet(sheetName):
    scope = ["https://spreadsheets.google.com/feeds",'https://www.googleapis.com/auth/spreadsheets',"https://www.googleapis.com/auth/drive.file","https://www.googleapis.com/auth/drive"]
    creds = ServiceAccountCredentials.from_json_keyfile_name('creds.json', scope)
    client = gspread.authorize(creds)
    sheet = client.open(sheetName).sheet1
    return sheet

На данный момент я выполняю метод openSheet каждый раз, когда запрашиваю файл у gspread.

Но чтобы оптимизировать производительность моего скрипта, я подумал, что могу определить область действия, кредиты и клиента в верхней части моего скрипта, чтобы он определялся только один раз, а не каждый раз, когда выполняется бесконечный цикл.

Когда мне следует выполнить вход?

0
Peter008 6 Окт 2019 в 16:29

1 ответ

Это то, что я сделал. У меня есть область действия, кредиты и клиент сразу под моими инструкциями импорта, поэтому, когда я получаю к функциям в моем скрипте, которые вызываются неоднократно, мне нужно только включить часть, которая определяет лист (random_variable_name = gc.open ('my_spreadsheet) ') когда я хочу вызвать файл.

Например, мой выглядит примерно так;

import gspread
from google.colab import auth 
auth.authenticate_user()
from google.colab import drive
import gspread 
from oauth2client.client import GoogleCredentials

scope = [
    'https://spreadsheets.google.com/feeds',
    'https://www.googleapis.com/auth/drive'
]

json_file = 'myfilepath/uberimportantstuff.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(json_file, scope)
gc = gspread.authorize(credentials)

На данный момент все, что мне нужно сделать, это создать объект ниже.

sh = gc.open(spreadsheet_name)
0
DennisLi 7 Янв 2020 в 07:31