【发布时间】:2014-11-25 06:01:53
【问题描述】:
我正在尝试编写一个从文件中读取关键字的函数(以每个关键字在文本文件中的新行上的格式)
我希望该函数将关键字放入名为“desiredItems”的全局 set() 中。
desiredItems = set()
def populateDesired():
for line in open("desireditems.txt"):
addableLine = line.rstrip("\n")
global desiredItems.add(addableLine)
由于某种原因,我的开发环境 (Pycharm) 告诉我 desiredItems.add 语法无效。
(对不起,如果我错误地插入了代码 sn-p 等)
提前致谢
【问题讨论】:
-
我想
set.add()返回None所以本质上你使用的是global None。您应该只使用global desiredItems并在下一行添加。虽然我强烈建议不要使用global并将集合作为参数传递。 -
@IanAuld,这将是一个运行时错误。事实上
global后面必须跟一个或多个标识符,所以.导致它是一个语法错误
标签: python set global-variables shadowing