Python 值错误:需要多个值才能解包
我已经看过了建议的类似问题,虽然有用,但与我的问题不符,我仍在努力 我使用一个批处理文件来运行一系列python文件,其中一个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
@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'