こんにちは!サキナオコです^o^
今日は少しだけ暖かいですね。
いつもご覧いただき、スキやコメントをどうもありがとうございます*^o^*
支えられております。
さて、さてさてさて!!
先日より泥沼化しておりました、Pythonによる無意味なフレーズを作るアプリですが、とうとうアプリ化成功しました〜〜
やはりencodingを入れないといけなかったみたいです。
ここにたどり着くまでにjsonファイルがいけないかもしれないと思いCSVでやってみたりしたものの、泥沼にはまる一方でした。
さらにもう、別のファイルに書くのはやめて、同じファイルに語句をずらずら書こうとしたのですが、さすがに…なんかものすごくイケてない感じがしたのでjsonファイルを読み込むことにこだわることにしてみました。
そうだ、エラーでdecoding(デコードは符号化されたデータを復元する)がどうたらとか出てたな、と思いファイルを読み込む際にどこにencoding(エンコードはデータを符号化する)を入れるのか調べて、入れて見ました。あと、入れるべきだったのかはよくわからないですが、close()も入れました。
import random
import json
import PySimpleGUI as sg
def words():
with open("elements.json",encoding='utf-8') as f: # ここにencoding入れるんだったんですね。
json_load = json.load(f)
f.close() # ついでにこれも追加しました
select_lst=json_load["selection1"]
sel = random.sample(select_lst, k=3)
print(''.join(sel))
sg.theme('LightGreen4')
layout = [
[sg.Text('Make no Sense', font=('Helvetica',20))],
[sg.Text('Pythonが作る無意味なフレーズを',font=('Helvetica',14))],
[sg.Button('見ます!', key='show_words',font=('Helvetica',18))],
[sg.Output(size=(70, 20),font=('Helvetica',14))],
[sg.Button('Quit',font=('Helvetica',14))]
]
window = sg.Window('Make no Sense', layout)
while True:
event, values = window.read()
if event == sg.WIN_CLOSED or event == 'Quit':
break
if event == 'show_words':
words()
window.close()
これとjsonファイル、アイコンセットでPy2appを使用し、アプリ化しました。
またエラー出るのかな?と思ってあまり期待していませんでしたが、エラー出ず、逆にびっくりしました。
いやっほ〜〜う!!泥沼からの脱出にばんざ〜い!!嬉しい!!*^o^*
ここで配布できるのかな??できても怪しそうだから(怪しいコードを入れるほどの腕もないですが)ダウンロードする方少ないだろうなあ。ああ、その前に需要がないか。gitかな。また後日!
コメント