繁体   English   中英

在我的PC上正常工作的Python代码在我的Raspberry Pi上不起作用

[英]Python code that works fine on my PC doesn't work on my Raspberry Pi

我最近为许多项目买了一个覆盆子pi,其中一个是reddit机器人。 我正在使用PRAW制作机器人,它在我的桌面PC(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)

在我的电脑上,这工作正常,但在Pi上if语句从未被触发,即使我正在为每个测试使用EXACT SAME POST。

如果你不熟悉PRAW,我拆分字符串,并寻找里面的话,这里text是通过词看起来和数组players是字典。

编辑:代码不会产生任何错误,它只是不像我在桌面上那样触发if语句。

编辑#2:似乎它与硬编码的变量textplayer 我保留了硬编码的文本,以包含来自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,现在一切正常:)

一个可能的问题是您运行的是不同版本的Python。 尝试在raspi和计算机上运行以下代码:

print (sys.version)

我敢打赌,人们会说“2.something”,而且会说“3.something”。 如果它发生,这意味着您使用的是不兼容的Python版本。 pi带有python 2(默认情况下IDE带有IDLE,而ID3 3,用于Python 3的IDE也是用rasbian预装的。只需在IDE中运行与您计算机上的版本匹配的脚本。

此外,我知道这听起来很简单,但pi通常具有不可靠的网络功能。 您确定正确连接到Internet吗?

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM