我正在做一个项目/安装,它将在7英寸的显示器上运行。目前,该项目从txt文件中选择一个句子,然后使用打字机效果将其打印出来。使用textwrapper,该句子将被拆分超过所需的行数。
import tweepy
from time import sleep
from credentials import *
import nltk.data
import random
import sys
import textwrap
# Access and authorize our Twitter credentials from credentials.py
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# Open text file newMaster.txt for reading
my_file = open('newMaster.txt', 'r')
text = my_file.read()
# close the file
my_file.close()
#Loop
while True:
#ntlk tokenizer
tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
#my code takes text file
forTweet = text
#breaks into sentences
tok = tokenizer.tokenize(forTweet)
#selects random sentence
newTok = random.choice(tok)
#makes sure sentence is less than 280 characters
newTok = random.choice([x for x in tok if len(x)<280])
#text wrap to make sure words do not split on
str2 = textwrap.fill(newTok, 128)
#Gets length of newTOk
lenghtnewTok = len(newTok)
#Keeps text on screen for 5 seoncds
sleep(5)
# initialise clearing screen
stdscr = curses.initscr()
# Clear the screen
stdscr.clear()
#keep screen clear for 2 seconds
sleep(2)
#This is typewrite effect
words = str2.replace('\n', '\r\n')
for char in words:
sleep(0.1)
sys.stdout.write(char)
sys.stdout.flush()
但是,我现在想实现的是,脚本将不打印1个句子,而是:
1。选择一个句子,使用打字机效果打印。
等待两秒钟,跳过一行,然后打印另一句话。
继续执行此操作,直到到达屏幕底部,然后清除所有句子,然后从顶部重新开始。
任何建议都会很棒。