我用PRAW构建了一个非常简单的脚本,在reddit.com/r/worldnews上打印了前10个链接标题。我希望这可以与GeekTool一起使用,但只显示以下内容:
" REDDIT的十大新闻
1 NEWS TITLE
2"
我不知道为什么会发生这种情况,因为直接从命令行运行脚本时我没有任何问题。
这是python脚本:
import praw
def main():
subreddit = r.get_subreddit('worldnews')
x = 1
print "TOP 10 NEWS ON REDDIT"
print ''
for submission in subreddit.get_hot(limit=10):
print x, submission.title
x = x+1
print ' '
if __name__ == "__main__":
user_agent = "Top10 0.1 by /u/alexisfg"
r = praw.Reddit(user_agent=user_agent)
main()
答案 0 :(得分:0)
如果您尝试...除了主函数周围打印任何异常,您会收到以下错误消息:
ascii codec can't encode character u'\u2019' in position 12: ordinal not in range(128)
所以这是一个编码问题 - 第二个标题中的某些字符不在ASCII范围内,而python / Geektool正在使用它作为默认编码。您可以通过使用.encode('utf-8')
明确编码标题字符串来解决此问题。