第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 runcmd 提取推文信息時出現(xiàn)問題

使用 runcmd 提取推文信息時出現(xiàn)問題

汪汪一只貓 2023-06-27 10:46:51
我試圖讓這段代碼從任何提到我的 Twitter 句柄的推文中提取媒體,通過子進(jìn)程模塊使用 ffmpeg 對其進(jìn)行轉(zhuǎn)換,然后將轉(zhuǎn)換后的媒體作為回復(fù)發(fā)送回該人。import tweepyfrom tweepy import Streamfrom tweepy.streaming import StreamListenerfrom datetime import datetimeimport timeimport subprocessstdout = subprocess.PIPEdef runcmd(cmd):    x = subprocess.Popen(cmd, stdout=subprocess.PIPE)    return x.communicate(stdout)import jsonimport randomclass StdOutListener(StreamListener):    def on_data(self, data):        clean_data = json.loads(data)        tweetId = clean_data['id']        tweet_name = clean_data['user']['screen_name']        tweet_media = clean_data['entities']['media'][0]['media_url']        print(tweet_media)        tweet_photo = runcmd('ffmpeg -i', tweet_media, 'output.jpg')        tweet = 'Here ya go'        now = datetime.now()        dt_string = now.strftime("%d/%m/%Y %H:%M:%S")        print(' Reply sent to @'+tweet_name, 'on', dt_string, '\n' ' Message:', tweet, '\n')        respondToTweet(tweet_media, tweet, tweetId)但我總是會遇到這個錯誤:Exception has occurred: TypeErrorruncmd() takes 1 positional argument but 3 were given   tweet_photo = runcmd('ffmpeg -i', tweet_media, 'output.jpg')顯然,我不能介于tweet_media兩者之間ffmpeg -i,output.jpg那么我該如何進(jìn)行tweet_media無錯誤的轉(zhuǎn)換呢?
查看完整描述

1 回答

?
慕妹3242003

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個贊

如果您想保持通話原樣,您需要這樣的東西:

def?runcmd(*cmd):
????x?=?subprocess.Popen([*cmd],?stdout=subprocess.PIPE)?
???????return?x.communicate(stdout)

進(jìn)一步說明:Popen()將命令作為單詞列表運(yùn)行。因此,有兩個 Python 特性需要使用。

  1. def runcmd(*cmd):這表示該函數(shù)接受任意參數(shù)列表,并將它們存儲為cmd元組,因此調(diào)用runcmd('ffmpeg', '-i', tweet_media, 'output.jpg')結(jié)果為cmdequaling?('ffmpeg', '-i', tweet_media, 'output.jpg')。

  2. Popen將表示要運(yùn)行的命令的字符串列表作為第一個參數(shù)。因此,首先*cmd將元組展開為元素,然后[*cmd]將元素放入列表中,這樣我們就得到了所需的調(diào)用['ffmpeg', '-i', tweet_media, 'output.jpg']

注意:指定'ffmpeg -i'為列表的第一個元素會Popen搜索名為 的可執(zhí)行文件ffmpeg<SPACE>-i,該可執(zhí)行文件很可能不存在,因此您應(yīng)該使用'ffmpeg', '-i'它。


查看完整回答
反對 回復(fù) 2023-06-27
  • 1 回答
  • 0 關(guān)注
  • 120 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號