1

Python Tkinter スクリプトにテキスト ウィジェットがあり、ユーザーが入力した値を取得しようとしています。私の意図は、テキストウィジェットからのデータを、スクリプトからの他の値 (つまり、x、y、z) とともに txt ファイル (faultlog.txt) にセミカラムで区切られた 1 行として書き込むことです。これは私が試したものです。

...
text=Text(width=30,height=1)
text.place(x=15,y=75)
data=text.get(1.0,END)

lines=[]
lines.append('{};{};{};{} \n'.format(data,x,y,z))
faultlog=open("faultlog","a")
faultlog.writelines(lines)
faultlog.close()
...

テキストファイルに1行の出力を与える代わりに、pythonはこれをtxtファイルに書き込んでいます(ユーザーが入力したデータが「abcdefgh」であると仮定します)

abcdefgh
;x;y;z

明確にするために、これが私が欲しいものです

abcdefgh;x;y;z

私は何を間違えましたか?質問が明確であることを願っています。私は初心者なので、答えを簡単にしてください。

4

1 に答える 1

3

ウィジェットのすべてのテキストを取得すると、最後に「\n」も含まれます。この最後の文字は、次のように削除できます。

data=text.get(1.0,END)[:-1]

これは、テキストの長さとは無関係に常に機能することに注意してください。

>>> "\n"[:-1]
''
>>> ""[:-1]
''
于 2013-03-22T09:25:27.507 に答える