Python TypeError:参数必须有一个“Write”方法

2024-05-15 19:15:36 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,这是我的代码:

def update_thing():
        stud_ID = str(ID_num.get())
        stud_name = str(name.get())
        stud_course = str(Crs.get())
        stud_year = str(Yr.get())
        replace = stud_ID +','+ stud_name +','+ stud_course +','+ stud_year
        empty = []




        with open(file_op, 'wb') as fop:
            Swriter = csv.writer(file_op, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
            for row in fop:
                if row[0:9] == stud_ID:

                    Swriter.writerow([empty])
                    Swriter.writerow([replace])
                    msg = Label(upd_win, text="Updated Successful", font="fixedsys 12 bold").place(x=3,y=120)
                if not row[0:9] == getID:
                    msg1 = Label(upd_win, text="Updated Failed", font="fixedsys 12 bold").place(x=3,y=120)


        fop.close() 

此代码将替换它通过ID number找到的行。因此,如果它找到ID号,它会清空这些行并写入新输入的行来替换这些行。不过,我有一个问题,在线路上有一个错误

^{pr2}$

它有一个错误:TypeError:参数必须有一个“write”方法。我真的不知道我为什么会得到这个。在

file_op 

是我从GUI中输入的值得到的文件名。任何帮助都是非常感谢的。谢谢!在


Tags: 代码nameidgetyearreplacefileempty
1条回答
网友
1楼 · 发布于 2024-05-15 19:15:36

你打开了“fop”文件,但试图写入“file-ou-op”

你需要这样做:

with open("your filename string", 'wb') as file_op:
            Swriter = csv.writer(file_op, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)

相关问题 更多 >