我是Python和Raspberry Pi的新手。
我的目标:作为我在构建Raspberry Pi并学习一些Python的过程中的一部分,我计划建立一个气象站。作为其中的一部分,它将推特天气。虽然这可能不是将要使用的最终代码。这有助于我学习。这就是我发布这个问题的原因。
我已经汇集了各种来源的代码,并通过Twython发布到Twitter。代码(见下文)效果很好。我不得不使用python3来获取SSL错误。
#!/usr/bin/env python3
import sys
from twython import Twython, TwythonError
#tweetStr = "Tweet goes here, limit 140 characters"
tweetStr = input("Type your Tweet: ")
#Your Twitter Application keys
apiKey = 'apiKey'
apiSecret = 'apiSecret'
accessToken = 'accessToken'
accessTokenSecret = 'accessTokenSecret'
api = Twython(apiKey,apiSecret,accessToken,accessTokenSecret)
try:
api.update_status(status=tweetStr)
except TwythonError as Error:
print (Error)
print ("Tweeted: ", tweetStr)
这是我喜欢的方式。请求输入。如果它工作,它打印以筛选推文作为确认它工作。但是,我想添加检查用户输入以验证它是140个字符或更少的能力。如果小于141,则进行,如果超过140包机,则返回错误,表示您输入了太多字符。我将只使用文字推文,没有链接。
我可以自己完成以下工作。但是,我不确定如何使用上述方法。 (注意:我使用< 15而不是< 141来测试,而不必输入超过140个字符)。我不希望它删除超过140的内容,但只是返回错误再试一次。
tweetStr = input("Tweet: ")
if len(tweetStr) < 10:
print (tweetStr)
else:
print ('too long')
我尝试了以下内容,但没有运气:
#!/usr/bin/env python3
import sys
from twython import Twython, TwythonError
#tweetStr = "Tweet goes here, limit 140 character"
tweetStr = input("Type your Tweet: ")
#Your Twitter Application keys
apiKey = 'apiKey'
apiSecret = 'apiSecret'
accessToken = 'accessToken'
accessTokenSecret = 'accessTokenSecret'
api = Twython(apiKey,apiSecret,accessToken,accessTokenSecret)
if len(tweetStr) < 15:
try:
api.update_status(status=tweetStr)
except TwythonError as Error:
print (Error)
else:
print ('Too long use less than 141 characters')
print ("Tweeted: ", tweetStr)
非常感谢任何帮助。也许有一种完全不同的,更简单的方法来与Twython做同样的事情。
答案 0 :(得分:1)
我设法自己拼凑了答案。
#! /usr/bin/ python3
import sys
from twython import Twython, TwythonError
#Your tweet, ask for user input
tweetStr = input('Type your Tweet: ')
#check for twitter input limit, return error if over 140
if len(tweetStr) > 140:
print('Error! You exceeded 140 Characters. Please try again.')
sys.exit()
# Your Twitter Application keys
apiKey = 'apiKey'
apiSecret = 'apiSecret'
accessToken = 'accessToken'
accessTokenSecret = 'accessTokenSecret'
api = Twython(apiKey,apiSecret,accessToken,accessTokenSecret)
#send your tweet or return Twython error
try:
api.update_status(status=tweetStr)
except TwythonError as Error:
print (Error)
#print back your tweet, likely succeeded
print ('Tweeted: ',tweetStr)
即使我在#!中调用python3,由于某些原因我的Pi上发生了一些变化,我必须运行:
python3 filename.py
最初,我可以运行:
python filename.py
感谢您的光临。