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 )

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.

2 Likes

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:

1 Like

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

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 ?

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.

1 Like

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

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?