python - 尝试获取多个目录的值时出现太多值无法解包(预期为 2)错误
问题描述
我必须同时访问 2 个目录并且必须使用这些文件,例如 - 如果我使用第一个目录中的第一个文件,那么我必须使用第二个目录中的第一个文件,依此类推。但是当我的代码是:
for n, id_ in tqdm(enumerate(train_ids), total=len(train_ids)):
path = TRAIN_PATH +'\\'+ id_
path_image = path + '\\images\\'
path_mask = path + '\\masks\\'
for image_file, mask_file in os.listdir(path_image), os.listdir(path_mask):
print(path_image+image_file)
print(path_mask+mask_file)
ValueError Traceback (most recent call last)
<ipython-input-22-b54928a597d2> in <module>
3 path_image = path + '\\images\\'
4 path_mask = path + '\\masks\\'
----> 5 for image_file, mask_file in os.listdir(path_image), os.listdir(path_mask):
6 print(path_image+image_file)
7 print(path_mask+mask_file)
ValueError: too many values to unpack (expected 2)
解决方案
您可以使用该zip
功能解决此类问题
改变
for image_file, mask_file in os.listdir(path_image), os.listdir(path_mask):
进入:
for image_file, mask_file in zip(os.listdir(path_image), os.listdir(path_mask)):
解释:
zip
接受两个迭代(或更多)并将它们作为一个:
假设我们有列表l
和k
k = [1,2,3]
l = [4,5,6]
zip(l, k) # [(1,4), (2,5), (3,6)]
推荐阅读
- ios - Fastlane Match - 一次运行即可获取所有配置文件
- python - 修复 spyder 问题
- android - 在不同的片段中使用相同的 AdMob 单元
- ios - 在swift 4中通过短信推荐朋友
- java - 安装最新的 Eclipse 版本:NullPointerException
- c - 无法在嵌入式设备上分配内存
- django - 输入的字段未保存到模型
- image-processing - 从通过混合一堆图像创建的视频中提取帧正在改变帧的完整性
- java - 即使将文件放在指定的路径中,也找不到文件错误
- git - How to correct already "added to index" files in git?