Python块未运行

Python块未运行,python,block,tweepy,except,Python,Block,Tweepy,Except,我的目标是转发和收藏用户时间线上的第一条推文。如果第一条推文没有被转发或fav,它将转发推文和fav,否则将转到Exception块并打印“已转发”并睡眠5分钟 这是我的代码: for i in iter(int, 1): for tweet in tweepy.Cursor(api.user_timeline, screen_name='realdonaldtrump', include_rts=False, exclude_replies=True).items(1): try:

我的目标是转发和收藏用户时间线上的第一条推文。如果第一条推文没有被转发或fav,它将转发推文和fav,否则将转到Exception块并打印“已转发”并睡眠5分钟

这是我的代码:

for i in iter(int, 1):

for tweet in tweepy.Cursor(api.user_timeline, screen_name='realdonaldtrump', include_rts=False, exclude_replies=True).items(1): 
    try:
        print('\nTweet by: @' + tweet.user.screen_name) 

        if not tweet.retweeted:
                    tweet.retweet() 
                    print('Retweeted the tweet')
        if not tweet.favorited:
                    tweet.favorite() 
                    print('Favorited the tweet')
        sleep(60)

    except:
        print('Already retweeted and favorited please be patient till next tweet')
        sleep(300)
2020-08-04T16:06:14.608937+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:06:14.785120+00:00 app[worker.1]: Retweeted the tweet
2020-08-04T16:06:15.013208+00:00 app[worker.1]: Favorited the tweet
2020-08-04T16:07:15.566250+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:08:15.822568+00:00 app[worker.1]: 
2020-08-04T16:08:15.822615+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:09:16.229441+00:00 app[worker.1]: 
2020-08-04T16:09:16.229453+00:00 app[worker.1]: Tweet by: @realDonaldTrump
但是在这里,当tweet已经被转发时,脚本永远不会进入except块。我不知道为什么。请解释如何解决这个问题

except:
            print('Already retweeted and favorited please be patient till next tweet')
            sleep(300)
我的日志:

for i in iter(int, 1):

for tweet in tweepy.Cursor(api.user_timeline, screen_name='realdonaldtrump', include_rts=False, exclude_replies=True).items(1): 
    try:
        print('\nTweet by: @' + tweet.user.screen_name) 

        if not tweet.retweeted:
                    tweet.retweet() 
                    print('Retweeted the tweet')
        if not tweet.favorited:
                    tweet.favorite() 
                    print('Favorited the tweet')
        sleep(60)

    except:
        print('Already retweeted and favorited please be patient till next tweet')
        sleep(300)
2020-08-04T16:06:14.608937+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:06:14.785120+00:00 app[worker.1]: Retweeted the tweet
2020-08-04T16:06:15.013208+00:00 app[worker.1]: Favorited the tweet
2020-08-04T16:07:15.566250+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:08:15.822568+00:00 app[worker.1]: 
2020-08-04T16:08:15.822615+00:00 app[worker.1]: Tweet by: @realDonaldTrump
2020-08-04T16:09:16.229441+00:00 app[worker.1]: 
2020-08-04T16:09:16.229453+00:00 app[worker.1]: Tweet by: @realDonaldTrump

任何帮助都将不胜感激。

只有当
try
块返回错误时,才会运行
除外
块。如果除
之外的
代码从未运行,则意味着从
try
捕获时没有错误。如果删除
try/except
错误捕获,您可能会发现它们没有给出错误,这就是
except
代码从不运行的原因

试试这个代码

用于tweepy.Cursor(api.user\u timeline,screen\u name='realdonaldtrump',include\u rts=False,exclude\u repress=True)中的tweet。项目(1):
打印('\nWeet by:@'+tweet.user.screen\u name)
如果未tweet.retweeted或未tweet.favorited:
tweet.retweet()
打印('转发推特')
tweet.favorite()
打印('Favorited the tweet')
其他:
打印('已被转发和喜爱,请耐心等待下一条推特')
睡眠(300)
睡眠(60)

您是否打算使用
else
而不是
除了
?您是否期待tweet.retweet()或tweet。favorite()是否引发异常?因为你没有明确提出任何建议!!我想你要找的是一个if..elif..else块而不是一个try..catch块..谢谢兄弟,它工作正常✌️✌️✌️ 感谢您宝贵的回复。如果这解决了您的问题,请将答案标记为正确