30/09/2018, 18:37

Mọi người cho em hỏi lỗi khi run, copy code mà nó bảo thiếu thư viện hay sao ạ?

Pham Van Hai viết 20:47 ngày 30/09/2018
  • Khi hỏi các vấn đề liên quan đến code, bạn phải đưa code lên thì mọi người mới giúp được
  • Nhìn lỗi, có vẻ như bạn quên không truyền tham số vào, ví dụ
    python ReadingFile text.txt
Tạ Duy Hoàng viết 20:48 ngày 30/09/2018

em copy code của trang leaning python ạ
`from sys import argv

script, filename = argv

print “We’re going to erase %r.” % filename
print “If you don’t want that, hit CTRL-C (^C).”
print “If you do want that, hit RETURN.”

raw_input("?")

print “Opening the file…”
target = open(filename, ‘w’)

print “Truncating the file. Goodbye!”
target.truncate()

print “Now I’m going to ask you for three lines.”

line1 = raw_input("line 1: ")
line2 = raw_input("line 2: ")
line3 = raw_input("line 3: ")

print “I’m going to write these to the file.”

target.write(line1)
target.write("\n")
target.write(line2)
target.write("\n")
target.write(line3)
target.write("\n")

print “And finally, we close it.”
target.close()

Tạ Duy Hoàng viết 20:42 ngày 30/09/2018

tại vì có thể truyền tên file rồi đọc, nên không truyền tham số file ạ. Do lỗi gì ấy ạ!!!

Pham Van Hai viết 20:43 ngày 30/09/2018

Như mình bảo, chạy thử lệnh bên dưới

  • Nhìn lỗi, có vẻ như bạn quên không truyền tham số vào, ví dụ
    python .\ReadingFile text.txt
htl@PyMI.vn viết 20:49 ngày 30/09/2018

lỗi được thông báo trên màn hình:

script, filename = argv
need more than 1 value to unpack

Câu lệnh trên cần argv là 1 tuple có 2 items, thì mới gán với 2 biến bên trái được.
bạn thử chạy 1 script như này: script, filename = 1 sẽ báo lỗi tương tự
còn script, filename = 1, 2 sẽ không báo lỗi

Cách post code lên diễn đàn: thêm dấu ` vào trước và sau code để nhìn cho đẹp nhé.
ví dụ `code` sẽ ra code
hoặc có thể dùng 2 dấu nháy, 3 dấu nháy (nhiều dòng)

Tạ Duy Hoàng viết 20:52 ngày 30/09/2018

OK, thank ạ, tại hôm xem hướng dẫn rồi, ít đăng lại quên ạ…Cảm ơn ạ!!!

Tạ Duy Hoàng viết 20:44 ngày 30/09/2018

sửa =1,2 như anh thì chạy được, nhưng e không hiểu ạ, tại sao lại 1,2 ạ?

Pham Van Hai viết 20:40 ngày 30/09/2018

Bạn đang học theo learnpythonthehardway, mình nghĩ bạn nên thực hành theo hướng dẫn, lỗi của bạn là khi chạy chương trình bạn quên chưa đưa tham số vào như hướng dẫn:

python .\ex16.py test.txt

Đây là lúc mình thử

htl@PyMI.vn viết 20:46 ngày 30/09/2018

Đấy là mình ví dụ cho bạn thôi.
Trong python thì phép gán giá trị biến có thể được viết linh hoạt như vậy.
Các ngôn ngữ khác bạn chỉ gán được 1 biến 1 lệnh, nhưng python thì có thể gán nhiều biến.
Khi gán thì số lượng biến ở 2 vế trái phải bằng số lượng giá trị ở vế phải
need more than 1 value to unpack dịch là cần hơn 1 giá trị để gán
Chịu khó dùng cả google translate nhé

Tạ Duy Hoàng viết 20:44 ngày 30/09/2018

ok cảm ơn anh ạ!.. Em đã hiểu

Bài liên quan
0