По сути, я пытаюсь обновить строку, которую я объявляю в начале. Затем я передаю список через функцию, которая после прохождения теста добавит элемент из списка в строку, разделив каждый элемент на точку с запятой.Обновление глобальной переменной внутри функции несколько раз в Python
Это сокращенная версия того, что я делаю, но она демонстрирует проблему, которую я считаю.
import os
passList=""
def checkItem(inString):
if inString.endswith(".tif")==True:
if passList=="":
passList=inString
else:
passList=passList + ";" + inString
itemList=os.listdir("C:\\temp")
for item in itemList:
checkItem(item)
print(passList)
Я проверил некоторую документацию об использовании функции «global», но они, похоже, не показывают примеры, применимые к моей ситуации. В настоящее время я получаю ошибку «функция, используемая до объявления». Любая помощь будет принята с благодарностью.
Спасибо!
Пожалуйста, включите весь журнал ошибок –
Вы действительно не хотите глобального изменчивого состояния вообще. Это плохая идея. – geoffspear
Несмотря на то, что, прочитав всю эту документацию, вы, похоже, вообще не использовали глобальную инструкцию. Используйте его внутри функции, ошибка исчезнет. –