簡體   English   中英

Tweepy:閱讀文本文件並在每條推文中輸出換行符

[英]Tweepy: Reading Text File and Tweeting Out Line Breaks in Each Tweet

這里是初學者,所以感謝您的耐心等待。 我正在嘗試使用 Tweepy 從文本文件中讀取推文並將其發送出去。 非常簡單,但我希望來自文本文件每一行的推文在它們之間有換行符。 例如,一條推文可能如下所示:

推文第一部分

推文第二部分

推文第三部分

同樣,推文是文本文件本身中的一行。 我只是想分解該行中的一些文本。

在文本文件中,我通過在這些換行符之間插入兩個“\n”來創建推文,但是“\n”字符顯示在推文本身中。 那么如何在我的推文中創建這些換行符呢? 非常感謝您的幫助。

\n在文本編輯器中輸入時不會是換行符,但它們是 Python 代碼中的換行符。

下面的代碼會將您的單行推文分解為每行三個單詞,每行三個單詞之間有一個換行符。

import tweepy

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

def chunks(lst, n):
    """Yield successive n-sized chunks from lst.
       from here: https://stackoverflow.com/a/312464/42346"""
    for i in range(0, len(lst), n):
        yield lst[i:i + n]

with open('to_be_tweeted.txt','r') as f:
    for line in f:
        split_on_spaces = line.rstrip('\n').split()
        chunked = [chunk for chunk in chunks(split_on_spaces,3)]
        multiline_tweet = "\n".join([" ".join(word for word in chunk) 
                                     for chunk in chunked])
        api.update_status(multiline_tweet)

例子:

s = """I'm going to press enter every three words just to annoy you."""
split_on_spaces = s.rstrip('\n').split()
chunked = [chunk for chunk in chunks(split_on_spaces,3)]
multiline_tweet = "\n".join([" ".join(word for word in chunk) 
                             for chunk in chunked])
print(multiline_tweet)

結果是:

I'm going to
press enter every
three words just
to annoy you.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM