電光掲示板を作り、記載される文字を自由に変えたいです。
Python3でLEDマトリクスパネルの制御を行っています。
LEDマトリクスパネルに文字列を走らせているのですが、現時点では、Python3のコードに直接文字列を記入しないと反映されません。
今回は、コード内からLEDマトリクスパネルに投影する文字列を決めるのではなく、外部のテキストファイルを参照してLEDマトリクスパネルに文字列を反映したいと考えています。
外部ファイル(テキストファイル)から文字列のデータを入手する機能を実装するときにエラーメッセージが発生しました。
#!/usr/bin/env python # Display a runtext with double-buffering. # coding: utf-8 from samplebase import SampleBase from rgbmatrix import graphics import time import argparse class RunText (SampleBase): def __init__(self, *args, **kwargs): super(RunText, self).__init__(*args, **kwargs) parser = argparse.ArgumentParser() self.parser.add_argument("-t","--textfile",help="The text to scroll on th$ def run(self): offscreen_canvas = self.matrix.CreateFrameCanvas() font = graphics.Font() font.LoadFont("../../../fonts/7x13.bdf") textColor = graphics.Color(255, 255, 255) pos = offscreen_canvas.width with open(self.args.textfile)as f: my_text=f.readlines().split('¥n')[0] while True: offscreen_canvas.Clear() len = graphics.DrawText(offscreen_canvas, font, pos, 20, textColor, m$ pos -= 1 if (pos + len < 0): pos = offscreen_canvas.width time.sleep(0.05) offscreen_canvas = self.matrix.SwapOnVSync(offscreen_canvas) # Main function if __name__ == "__main__": run_text = RunText() if (not run_text.process()): run_text.print_open()
表示されたエラーが Traceback (most recent call last): File "runtext.2", line 36, in <module> if (not run_text.process()): File "/home/pi/rpi-rgb-led-matrix/bindings/python/samples/samplebase.py", line 71, in process self.run() File "runtext.2", line 20, in run my_text=f.readlines().split('¥n')[0] AttributeError: 'list' object has no attribute 'split'
エラーを解決するために必要な手法や、参考となるサイトなどがあれば教えていただきたく質問させていただきました。
回答2件
あなたの回答
tips
プレビュー