Tweepy:读取文本文件并在每条Tweet中输出换行符

2024-04-29 15:38:31 发布

您现在位置:Python中文网/ 问答频道 /正文

这里完全是初学者,谢谢你的耐心。我正在尝试使用Tweepy从文本文件中读取推文并将其发送出去。非常简单,但我希望文本文件中每一行的tweet之间都有换行符。例如,一条tweet可能如下所示:

推特第一部分

tweet的第二部分

tweet的第三部分

同样,tweet是文本文件本身的一行。我只想把那一行的一些文字分开

在文本文件中,我通过在这些换行符之间插入两个“\n”来创建tweets,但是“\n”字符显示在tweets中。那么,我如何在推文中创建这些换行符呢?非常感谢你的帮助


Tags: 字符tweetstweet文字文本文件初学者tweepy
1条回答
网友
1楼 · 发布于 2024-04-29 15:38:31

在文本编辑器中键入\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.

相关问题 更多 >