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: []