1

我的 python Tkinter 脚本中有一个文本小部件,我正在尝试获取用户输入的值。我的目的是将文本小部件中的数据与脚本中的其他值(即 x、y、z)一起写入 txt 文件(faultlog.txt),作为单行,以半列分隔。这是我尝试过的。

...
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()
...

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 回答