我最近为许多项目购买了一个树莓派,其中一个是 reddit 机器人。我正在使用 PRAW 来制作机器人,它在我的台式机(Windows 8.1)上完美运行,但在我的树莓(Raspbian)上它似乎不起作用。我已将范围缩小到有问题的这几行。
简要说明我正在尝试做的事情:获取帖子的自文本并将其按空格拆分为单词,然后检查帖子中是否包含某些单词。
text = submission.selftext.replace(","," ").encode("utf-8").lower().split()
for i in range (0, len(players)):
player = players[i].lower()
if player in text:
print(player)
在我的 PC 上这工作正常,但在 Pi 上 if 语句从未被触发,即使我对这些测试中的每一个都使用 EXACT SAME POST。
如果您不熟悉 PRAW,我正在拆分一个字符串并在其中查找单词,其中text
要查看的单词数组players
是字典。
编辑:代码不会产生任何错误,它只是不会像在我的桌面上那样触发 if 语句。
编辑#2:似乎它适用于硬编码变量text
和player
. 我留下了硬编码的文本以包含应该包含的条目,players
但它找不到它,这让我相信错误在于我如何创建列表players
下面是我用来创建它的方法。
def getPlayers():
players = []
with open("PlayerIDs.txt") as f:
for line in f:
players.append(line)
return players
Python 2 和 3 之间的解决方案对 unicode 和编码的一般工作方式进行了更改,因此代码无法在我的 pi 上的 python 2.x 上运行。我最终安装了 python3 并使用 virtualenv 来设置 python 3,现在一切正常:)