Python 3.x 打印时的格式问题

Python 3.x 打印时的格式问题,python-3.x,Python 3.x,我创建了以下类: 当我在以下函数中调用此类时: 它没有正确地打印文本。出于某种原因,除了最后一个学生之外,它把所有东西的格式都弄乱了 例如: Enter name of the classlist file: classlist.txt Completed reading of file classlist.txt N00000001: John, john@amail.com , marks: [] N00000002: Kelly, kelly@bmail.com , marks:

我创建了以下类:



当我在以下函数中调用此类时:



它没有正确地打印文本。出于某种原因,除了最后一个学生之外,它把所有东西的格式都弄乱了


例如:

Enter name of the classlist file: classlist.txt
Completed reading of file classlist.txt
N00000001: John, john@amail.com
, marks: []
N00000002: Kelly, kelly@bmail.com
, marks: []
N00000003: Nicky, nicky@cmail.com
, marks: []
N00000004: Sam, sam@dmail.com
, marks: []
N00000005: Adam, adam@amail.com, marks: []

我不明白为什么它在电子邮件之后创建了一个新行。它对每个数据文件都这样做,但显示的最后一个学生总是正确的

我不太明白


任何帮助都会很好

我认为你应该改变这一行

data=line.split(“,”)

data=line.rstrip().split(“,”)


这将从数据中删除换行符
\n
,您将获得所需的输出。

也许您可以将此行
data=line.split(“,”
更改为
data=line.rstrip()。split(“,”)
这将从数据OMG中删除换行符
\n
!你真是天赐之物!非常感谢。如果你愿意,我可以把它写下来作为答案,如果它满足你的需要,你可以接受:-)当然!这很有效
def read_classlist():
        #This function reads the classlist from file.
        global studentslist
        studentslist = []
        try:
                file=input("Enter name of the classlist file: ")
                with open(file) as f:
                        for line in f:
                                data=line.split(",")
                                s=Student(data[0],data[1],data[2])
                                studentslist.append(s)
                print("Completed reading of file %s" % file)
                for student in studentslist:
                        print(student)
                display_separator()
                menu()
                return
        except IOError:
                print("File %s could not be opened" % file)
                display_separator()
                menu()
                return
Enter name of the classlist file: classlist.txt
Completed reading of file classlist.txt
N00000001: John, john@amail.com
, marks: []
N00000002: Kelly, kelly@bmail.com
, marks: []
N00000003: Nicky, nicky@cmail.com
, marks: []
N00000004: Sam, sam@dmail.com
, marks: []
N00000005: Adam, adam@amail.com, marks: []