使用Python的Tweepy发布Letterboxd影评推文,格式化问题求助
解决Tweepy推文格式化问题
问题根源
你调用tweet函数时传入的是列表而非字符串,update_status会自动把列表转为字符串格式,这就是方括号出现的原因。同时直接传列表也无法实现换行效果。
解决方案
要实现标题和链接分两行、去掉方括号,只需要将内容拼接成符合要求的字符串即可:
修改主函数调用代码
把列表替换成带换行的字符串拼接,用\n实现换行:
if __name__ == "__main__": api = api() # 拼接成带换行的目标字符串 tweet_content = f"{review['title']}\nFull review on: {review['link']}" tweet(api, tweet_content)
完整修正后的代码
import tweepy import xxxx_keys import feedparser feed = feedparser.parse("https://example.rss") def api(): auth = tweepy.OAuth1UserHandler(xxxx.api_key, xxxx.api_key_secret) auth.set_access_token(xxxx.access_token, xxxx.access_token_secret) return tweepy.API(auth) review = { "title": feed.entries[0].title, "summary": feed.entries[0].summary, "link": feed.entries[0].link, "description": feed.entries[0].description, } def tweet(api: tweepy.API, message: str, image_path=None): if image_path: api.update_status_with_media(message, image_path) else: api.update_status(message) print("Tweet sent successfully") if __name__ == "__main__": api = api() tweet_content = f"{review['title']}\nFull review on: {review['link']}" tweet(api, tweet_content)
关键说明
- 用f-string拼接字符串,
\n会被推特识别为换行符,刚好实现标题和链接分两行显示 - 直接传入字符串而非列表,彻底避免自动转换产生的方括号
- 注意检查拼接后的内容长度,要符合推特的字符限制,防止发送失败
内容的提问来源于stack exchange,提问作者Kikeshi
相关产品推荐
相关产品推荐

