ValueError:需要超过1个值才能解包psychopy:自从脚本昨天运行以来,就没有接触过它,我突然得到了这个

2024-09-25 18:28:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我认识到这里有相当数量的ValueError问题,但似乎没有一个与精神病或我的问题有关。我正在从头开始编写一个关于心理变态的实验(不涉及建设者)。昨天,我的剧本写得很好。今天我试着运行它,但没有添加任何新的内容,也没有带走任何内容,它突然给了我一个错误: 你知道吗

File "/Users/vpam/Documents/fMRI_binding/VSTMbindingpaige.py", line 53, in <module>
  script, filename = argv
ValueError: need more than 1 value to unpack

这是第52行和第53行,显然是第53行(最后一行)中的某些东西让这一切发生了,但我无法想象,因为它昨天运行得很好。有人知道它为什么这么做吗?(为了能够包含正确的音频反馈,我正在运行最旧版本的python,但我已经成功地运行了它):

from sys import argv
script, filename = argv

这就是我所说的文件名(在脚本中,它位于其他行的上方)

from sys import argv
script, filename = argv
from psychopy import gui
myDlg = gui.Dlg(title="Dr. S's experiment")
myDlg.addField('Subject ID','PJP')
ok_data = myDlg.show()
if myDlg.OK:
     print(ok_data)
else:
print('user cancelled')
[sID]=myDlg.data
# Data file name stem = absolute path + name; later add .psyexp, .csv, .log, etc
data_file = sID + '_VSTMbinding.txt'
f = open(data_file,'a') #name file here
f.write(sID)
print myDlg.data

Tags: namefromimport内容datasysscriptgui
1条回答
网友
1楼 · 发布于 2024-09-25 18:28:10

看起来你在用Python2。Python3在其错误消息中提供了更详细的信息。问题是argv只包含一个值,您试图将其解压为两个变量。argv包含命令行变量如果这是昨天运行的“没有任何更改”,这是因为您提供了一个文件名作为命令行参数。你知道吗

py2.py型

#!/usr/bin/env python
from sys import argv

script, filename = argv

print("Script: {0}\nFilename: {1}".format(script, filename))

py3.py型

#!/usr/bin/env python3
from sys import argv

script, filename = argv

print("Script: {0}\nFilename: {1}".format(script, filename))

运行py2.py:

$ charlie on laptop in ~
❯❯ ./py2.py
Traceback (most recent call last):
  File "./py2.py", line 4, in <module>
    script, filename = argv
ValueError: need more than 1 value to unpack

$ charlie on laptop in ~
❯❯ ./py2.py filename
Script: ./py2.py
Filename: filename

运行py3.py:

$ charlie on laptop in ~
❯❯ ./py3.py
Traceback (most recent call last):
  File "./py3.py", line 4, in <module>
    script, filename = argv
ValueError: not enough values to unpack (expected 2, got 1)

$ charlie on laptop in ~
❯❯ ./py3.py filename
Script: ./py3.py
Filename: filename

相关问题 更多 >