2017-09-09 12 views
0

を「書く」この私のコード持っている必要があります。パイソン - 例外TypeError:引数が1こんにちは方法

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番号で見つけた行を置き換えます。したがって、ID番号が見つかると、その行を空にして新しく入力した行を書き込むことで、その行を置き換えます。例外TypeError:引数が1「書き込み」メソッドを持っている必要がありますしかし、私はそれがエラーを持っている行に

Swriter = csv.writer(file_op, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) 

をエラーに問題を抱えています。なぜ私はこれを得ているのか分かりません。

file_op 

は、GUIで入力した値から取得したファイル名です。どんな助けでも本当に感謝しています。ありがとう!

+0

'fop.close()'の方法により、不必要です –

+1

私はあなたが 'file_op'ではなく' csv.writer() 'に最初の引数として' fop'を渡したいと思います。 –

答えて

1

あなたは "FOP" ファイルを開きますが、 "file_op" への書き込みを

をしようとしますが、このようにそれを持っている必要があります:

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