如何基于Tweepy实现Twitter上传图片时自动取原文件名作为推文文案
实现方法
用Python内置的os模块处理文件名即可自动提取文案,无需手动传入文本,也不需要额外安装第三方依赖。
- 自动剥离文件路径前缀、去除文件后缀,将剩余的纯文件名作为推文文案
- 兼容纯文件名、带目录的完整文件路径两种传入形式
- 支持自定义调整文件名到文案的转换规则,比如把下划线/连字符替换为空格提升可读性
修改后的可直接运行代码:
import os import tweepy from tweepy.streaming import Stream from tweepy import Stream consumer_key = 'XXXX' consumer_secret = 'XXXX' access_token = 'XXXX' access_token_secret = 'XXXX' auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token, access_token_secret) api = tweepy.API(auth, wait_on_rate_limit = True) def upload_media(filename): # 提取不带目录的纯文件名 file_full_name = os.path.basename(filename) # 去掉文件后缀,得到推文文案 tweet_content = os.path.splitext(file_full_name)[0] # 若文件名用下划线/连字符代替空格,可取消下一行注释自动替换 # tweet_content = tweet_content.replace('_', ' ').replace('-', ' ') media = api.media_upload(filename) api.update_status(tweet_content, media_ids = [media.media_id_string]) # 调用时仅需传入图片路径,无需手动编写文案 # 例如下方调用会自动提取"world is amazing"作为推文内容 upload_media('world is amazing.png')
如果你需要对提取的文案做大小写转换、加固定后缀等调整,直接在
tweet_content生成后添加对应处理逻辑即可。
内容的提问来源于stack exchange,提问作者Qasim
相关产品推荐
相关产品推荐

