打印到7“屏幕,然后使用textwrapper +控制台登录清除监视器

时间:2020-01-17 19:10:53

标签: python text raspberry-pi

我正在做一个项目/安装,它将在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。选择一个句子,使用打字机效果打印。

  1. 等待两秒钟,跳过一行,然后打印另一句话。

  2. 继续执行此操作,直到到达屏幕底部,然后清除所有句子,然后从顶部重新开始。

任何建议都会很棒。

0 个答案:

没有答案