GeekTool только один раз повторяет мой цикл Python
Я создал очень простой скрипт с PRAW, который печатает 10 лучших заголовков ссылок на reddit.com/r/worldnews. Я хочу, чтобы это работало с GeekTool, но отображается только следующее:
"ТОП 10 НОВОСТЕЙ НА REDDIT
1 НАЗВАНИЕ НОВОСТЕЙ
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()
1 ответ
Если вы поместите попытку... за исключением основной функции для печати любых исключений, вы получите следующее сообщение об ошибке:
ascii codec can't encode character u'\u2019' in position 12: ordinal not in range(128)
Так что это проблема кодирования - некоторый символ во втором заголовке не входит в диапазон ASCII, который python/Geektool использует в качестве кодировки по умолчанию. Вы можете обойти это, явно зашифровав строку заголовка с помощью .encode('utf-8')
,