1

私はPythonとRaspberry Piを初めて使用します。

私の目標: Raspberry Pi の構築と Python の学習へのジャンプの一環として、気象観測所の構築を計画しています。その一環として、天気をつぶやきます。これは使用される最終的なコードではないかもしれませんが。これは私が学ぶのを助けています。そのため、この質問を投稿しています。

Twython で Twitter に投稿するコードをさまざまなソースからまとめました。コード (以下を参照) はうまく機能します。SSLエラーが発生しないようにするには、python3を使用する必要がありました。

#!/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 チャーターを超える場合は、入力した文字数が多すぎるというエラーを返します。テキストツイートのみを使用し、リンクは使用しません。

以下を単独で動作させることができます。ただし、上記で動作させる方法がわかりません。(注: テストには <141 ではなく <15 を使用しており、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 で同じことを行うためのまったく別の簡単な方法があるでしょう。

4

1 に答える 1