01/10/2018, 14:46

Lỗi ValueError: not enough values to unpack (expected 4, got 1) khi sử dụng 'from sys import argv' trong Python

Mình đang học cuốn LPTHW nhưng mình gặp vấn đề :

from sys import argv

script, first, second, third = argv

print(“The script is called:”, script)
print(“Your first variable is:”, first)
print(“Your second variable is:”, second)
print(“Your third variable is:”, third)

Nhưng chạy lại báo lỗi như này :

Traceback (most recent call last):
File “exp13.py”, line 4, in
script, first, second, third = argv
ValueError: not enough values to unpack (expected 4, got 1)

Mình đã lên google search tìm nhưng k tìm được lỗi ( mình học cuốn LPTHW là python2x mà máy mình chạy python3x )

HK boy viết 17:00 ngày 01/10/2018

Lúc dịch code Python trên cmd, bạn phải gõ đủ 4 argument. Bạn mới chỉ gõ

python script.py
       ^^^^^^^^^
đây mới là 1 argument

Bạn gõ thiếu argument nên khi chạy code Python báo lỗi là đúng rồi.

Lỗi này không liên quan gì đến Python 2x hay Python 3x hết.

NTD viết 17:02 ngày 01/10/2018

Chính xác như vậy luôn, lúc mình làm bài này. Cũng bị lỗi giống như trên, suy nghỉ hoài, coi lại video dạy LTĐ mới phát hiện ra thiếu sót chổ đó.hihihi:yum:

rogp10 viết 16:49 ngày 01/10/2018

Vậy làm sao xem số tham số dòng lệnh nhỉ

Nguyen Duc Nam viết 16:52 ngày 01/10/2018

Vậy là lúc dịch code phải ghi đủ 4 argument

python exp13.py scipt.py first.py second.py third.py

mới đủ hả bạn ?

HK boy viết 17:02 ngày 01/10/2018

Trong câu lệnh

python exp13.py abc xyz ...

thì tất cả những thứ gì sau python đều là argument hết.

Argument đầu tien bao giờ cũng là tên file cần được dịch (*.py), còn những argument đằng sau là tuỳ, không phải tất cả đều có dạng *.py.

Nguyen Duc Nam viết 16:50 ngày 01/10/2018

Mình đã hiểu được vấn đề rồi, cảm ơn bạn ^^

Bài liên quan
0