Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

Lỗi write() argument must be str, not None

2 năm trước 699 lượt xem 3 bình luận 2 năm trước

lỗi em gặp ạ : open_file.write(self.to_string())
TypeError: write() argument must be str, not None

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
FoxCode đã bình luận 2 năm trước

Có 2 lỗi lớn ở đây:

1. Hàm write_to_string() sửa mode thành "w+" vì "r" là chỉ đọc không thể viết.

2.Hàm to_string() thiếu return nên đoạn code "open_file.write(self.to_string())" ỏ hàm write_to_string() không có data để viết nên gây ra lỗi. Sửa bằng cách thêm return ở  cuối hàm to_string()

Code đã sửa:

 

def to_string(self):
        save = f"chieu dai: {self.chieu_dai} \n chieu rong: {self.chieu_rong} \n chu vi: {self.chu_vi()} \n dien tich: {self.dien_tich()}"
        print(save)
        return save

def write_to_string(self):
        open_file = open("hcn.txt", "w+")
        open_file.write(self.to_string())
        open_file.close()



 

 

chienthanhocdot đã bình luận 2 năm trước
theo mình thấy thì bạn đặt mode = 'r' trong khi ta chỉ được phép dùng hàm write với mode file là a a+ w w+
Bài viết
0
Câu hỏi
2
Bình luận
2