Я работаю над проектом / установкой, которая будет запущена на 7-дюймовом мониторе. В настоящий момент проект выбирает предложение из текстового файла, а затем распечатывает его с использованием эффекта пишущей машинки. Используя 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. выбрать одно предложение и напечатать, используя эффект пишущей машинки.
Подождите две секунды, пропустите строку и затем напечатайте другое предложение.
Продолжайте делать это, пока не достигнет нижней части экрана и затем очистите все предложения и начните снова с верха.
Любые предложения будут великолепны.