Python 3.x 仅将输出写入txt文件中的一行
我的程序将输出正确写入txt文件,但它将信息放在两行而不是一行 目前,它写道:Python 3.x 仅将输出写入txt文件中的一行,python-3.x,tkinter,Python 3.x,Tkinter,我的程序将输出正确写入txt文件,但它将信息放在两行而不是一行 目前,它写道: Item name User's name Date Time 我希望它写为: Item name User's name Date Time 我一直无法理解为什么它会把信息放在两行上 我用来写入文件的代码是: def write_to_file(self, nm): date = datetime.now().strftime(' %Y-%m-%d %H:%M:%S') w
Item name
User's name Date Time
我希望它写为:
Item name User's name Date Time
我一直无法理解为什么它会把信息放在两行上
我用来写入文件的代码是:
def write_to_file(self, nm):
date = datetime.now().strftime(' %Y-%m-%d %H:%M:%S')
with open('user_sig.txt', 'a') as f:
f.write(nm + self.ent.get() + date + '\n')
f.close()
“nm”从按下的按钮获取信息,“self.ent.get()获取他们在文本框中键入的用户名。除了不在一行上打印外,所有操作都正常。似乎
nm
的末尾有\n
,因此您必须将其删除-即
nm = nm.strip()
显然,
nm
以换行符结尾。查看生成该参数的代码。什么是self.ent
?它是一个文本
小部件还是一个条目
小部件,还是其他什么?'nm'是用户按下的按钮的名称。它是从一个txt文件生成的,该文件列出了所选类别中的所有项目。txt文件中的每个项目都位于单独的一行。按钮是否保留txt文件中的换行标记?如果是,有没有办法在代码中删除它?或者我必须更改txt文件并在每个项目之间用逗号列出它们吗?似乎nm
末尾有\n
,因此您必须删除它-即nm=nm.strip()
底线:您正在编写的代码有一个新行。python和tkinter都不会在后面添加换行符(除了Text
小部件,该小部件保证将换行符作为小部件中的最后一个字符)。因为您没有使用文本
小部件,所以新行是由您没有显示的代码添加的。请阅读并按照它的建议去做。