Сделайте набор переменных внутри модуля глобальным - PullRequest
1 голос
/ 12 июля 2020

Я знаю, что есть много вопросов, касающихся использования предопределенной глобальной переменной в модуле, но я хочу сделать наоборот - я хочу взять переменную, определенную внутри модуля, и сделать ее глобальной. Вот код:

import badobjectmask as bm

bm.getgoodlist(datalen = 13501, listname = list2)
print(ra)

с кодом модуля для badobjectmask

global goodlist
global ra

def getgoodlist(datalen, listname):
    for f in range(1):
        for n in range(datalen):
            if (data5[n]['COADD_OBJECT_ID'] in set(listname)) == False:
                fcngoodlist.append(data5[n])
                fcnra.append(data5[n]['RA'])
    goodlist = fcngoodlist
    ra = fcnra

Я пытался избавиться от бита global и вместо этого заканчивал

    return
    goodlist = fcngoodlist
    ra = fcnra

и также попытались поместить бит global в функцию. При использовании всех этих стратегий я получаю сообщение об ошибке NameError: name 'ra' is not defined, которое, как я предполагаю, связано с тем, что переменная ra не становится глобальной. Как это исправить?

...