Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 仅将输出写入txt文件中的一行_Python 3.x_Tkinter - Fatal编程技术网

Python 3.x 仅将输出写入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

我的程序将输出正确写入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')

    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
小部件,该小部件保证将换行符作为小部件中的最后一个字符)。因为您没有使用
文本
小部件,所以新行是由您没有显示的代码添加的。请阅读并按照它的建议去做。