try:
studfile = open("students.csv","r")
except IOError:
studfile = open("students.csv","w")
#later in the code
studfile.write(students)
这个try / except块的目的是尝试路由出IOError,但我最终收到了另一条错误消息,即" 期望一个字符缓冲区对象&#34 ;。有关如何修复它的帮助?
答案 0 :(得分:0)
这是你得到的TypeError
。你的学生'在写入文件时,type应该是字符串。使用str(students)
可以解决您的问题。
编辑:
str
可以将任何对象转换为string
类型。考虑以下评论:
因为你没有提到student
的类型。如果是字符串列表(假设)。然后你不能这样写:studfile.write(students)
。
你应该这样做:
for entry in students:
studfile.write(entry) # decide whether to add newline character or not
答案 1 :(得分:0)
假设students
是您希望保存为csv
文件的某种形式的数据,最好使用python内置的csv文件IO 。例如:
import csv
with open("students.csv","wb") as studfile: # using with is good practice
...
csv_writer = csv.writer(studfile)
csv_writer.writerow(students) # assuming students is a list of data