オンラインのtxtファイルから数行のテキストを取得して、ウィンドウに表示しようとしています。ここまでは順調ですね。
そのウィンドウを「x」秒ごとに再読み込み/更新して、そのウィンドウ内のラベルが再描画されるようにしたい (その txt ファイルのテキスト行を追加、削除、または変更した場合) が、これまでのところ実行できませんでした。 .
フレームをルートに追加し、ラベルをフレームに動的に追加しました。「x」秒ごとに、そのフレームが存在するかどうかを確認し、存在する場合は破棄し、txt ファイルの内容を再度プルしてフレームとラベルを再作成し、ラベルが最新になるようにします。
そのために、関数の先頭に「Try/Except」を追加して、フレームが存在するかどうかを確認して破棄しようとしましたが、機能させることができませんでした。
非常に経験の浅い python 愛好家に役立つアイデアはありますか?
#coding:utf-8
from Tkinter import *
import urllib
import time
mroot = Tk()
def mactions():
mconteudo = urllib.urlopen('http://www.xyz.com.br/recados.txt')
mtexto = mconteudo.read().split('***')
#this is where I think I'm doing something wrong - I always get a NameError.
try:
mframe.destroy()
except NameError:
print '- NameError -'
except UnboundLocalError:
print '- UnboundLocalError -'
mframe = Frame(mroot)
for i in mtexto:
w = Label(mframe, text=i)
w.pack()
wseparador = Label(mframe, text='________')
wseparador.pack()
mframe.pack()
mroot.after(2000, mactions)
mactions()
mroot.mainloop()