添加到函数内的全局集时的SyntaxError(Python)

时间:2014-11-25 06:01:54

标签: python set global-variables shadowing

我正在尝试编写一个从文件中读取关键字的函数(格式为每个关键字都在文本文件中的新行上)

我希望函数将关键字放入名为" desiredItems"的全局set()中。



desiredItems = set()

def populateDesired():
    for line in open("desireditems.txt"):
        addableLine = line.rstrip("\n")
        global desiredItems.add(addableLine)




由于某种原因,我的开发环境(Pycharm)告诉我,desiredItems.add是无效的语法。

(抱歉,如果我错误地插入了代码段等)

提前致谢

2 个答案:

答案 0 :(得分:0)

您根本不需要使用global,只需删除它即可。

答案 1 :(得分:0)

如果需要修改全局变量的绑定,语法就像这样

def populateDesired():
    global desiredItems
    for line in open("desireditems.txt"):
        addableLine = line.rstrip("\n")
        desiredItems.add(addableLine)

由于您没有修改绑定 - 只是调用方法,因此根本不需要global

def populateDesired():
    for line in open("desireditems.txt"):
        addableLine = line.rstrip("\n")
        desiredItems.add(addableLine)