Python 值错误:需要多个值才能解包

Python 值错误:需要多个值才能解包,python,windows,powershell,batch-file,Python,Windows,Powershell,Batch File,我已经看过了建议的类似问题,虽然有用,但与我的问题不符,我仍在努力 我使用一个批处理文件来运行一系列python文件,其中一个python脚本返回一个变量,在以后的脚本中用作参数(它必须导出到控制台,因为它还用作可执行文件中的参数) 按批处理的文件如下所示: @echo off @title AutoStats set raw_dir ='raw_directory' set today_dir ='today_directory' set archive_dir='archive_direct

我已经看过了建议的类似问题,虽然有用,但与我的问题不符,我仍在努力

我使用一个批处理文件来运行一系列python文件,其中一个python脚本返回一个变量,在以后的脚本中用作参数(它必须导出到控制台,因为它还用作可执行文件中的参数)

按批处理的文件如下所示:

@echo off
@title AutoStats
set raw_dir ='raw_directory'
set today_dir ='today_directory'
set archive_dir='archive_directory'
set error_file='error_directory'
set DateEstate='dE'
set OTQ_File='OTQ_File'


cd C:\dev\OTQtxt
for /f "delims=" %%a in ('get_date.py') do set $date=%%a

python create_csv.py %$date% %raw_dir% %archive_dir% %error_file%


pause
from sys import argv

date, raw_dir, today_dir, archive_dir, error_file = argv[1:]

print date
print raw_dir
print today_dir
print archive_dir
print error_file
python脚本如下所示:

@echo off
@title AutoStats
set raw_dir ='raw_directory'
set today_dir ='today_directory'
set archive_dir='archive_directory'
set error_file='error_directory'
set DateEstate='dE'
set OTQ_File='OTQ_File'


cd C:\dev\OTQtxt
for /f "delims=" %%a in ('get_date.py') do set $date=%%a

python create_csv.py %$date% %raw_dir% %archive_dir% %error_file%


pause
from sys import argv

date, raw_dir, today_dir, archive_dir, error_file = argv[1:]

print date
print raw_dir
print today_dir
print archive_dir
print error_file
使用
argv[1://code>的原因是我不想将脚本名称用作参数

在未来,它显然会做更多的事情,这只是为了测试我是否能得到这些论点

错误如标题所示。这仅在从批处理文件运行它时发生,如果我从powershell运行它并自己键入参数,那么它就会工作

我觉得奇怪的是,当我自己在powershell中键入参数时,脚本工作正常,当使用.bat中设置的参数时,它返回一个错误


谁能解释一下为什么会这样。到目前为止,我从未使用过批处理文件,所以这可能只是一个简单的错误。

虽然Ffisegydd指出的问题是正确的,但导致问题发生的真正错误是在批处理文件中设置参数

对于前2行
set
,我在参数名称后添加了一个空格:

set today_dir ='today_directory'
应该是:

set today_dir='today_directory'