python - 如何使用字符串访问变量?
问题描述
我在使用两个条件访问多个列表时遇到问题:Case_Num
和Case_Type
. 我不知道如何修复连接字符串和列出对象的错误。
我尝试过使用循环并组合字符串和常规整数值。不幸的是,我一直收到同样的错误。任何帮助将不胜感激
_2019_case_1=[]
_2019_case_2=[]
_2019_case_3=[]
Case_Num=[2019,2019,2019,2020,2020,2020,2024,2024,2024,2029,2029,2029]
Case_Type=[1,2,3,1,2,3,1,2,3,1,2,3]
dr = "F:\C\FE\CD\Tran\ctg"
read_files =[]
for root, _, files in os.walk(dr):
read_files_2="_"+Case_Num+"_case_"+Case_Type
for file in files:
if file in read_files_2:
read_files.append(os.path.join(root, file))
Error I receive
read_files_2="_"+Case_Num+"_case_"+Case_Type
TypeError: cannot concatenate 'str' and 'list' objects
解决方案
您需要将您所在的行更改assign read_files_2
为集合理解。最好只做一次,所以在循环之前分配它。如评论中所述,您也可以将itertools.product
其用于轻松扩展的更改。
from itertools import product
_2019_case_1=[]
_2019_case_2=[]
_2019_case_3=[]
dr = "F:\C\FE\CD\Tran\ctg"
read_files =[]
read_files_2= {f"_{num}_case_{type}" for num, type in product((2019,2020,2024,2029), (1,2,3))}
for root, _, files in os.walk(dr):
for file in files:
if file in read_files_2:
read_files.append(os.path.join(root, file))
推荐阅读
- regex - 在 Linux 中使用正则表达式搜索/Grep 仅公共 IP 地址
- powerbi - 从 PowerBI 表的列中删除“%”符号
- superset - Apache SuperSet:如何编辑查询和删除 Order By 子句
- python - 无法在 vscode 或 pycharm 的 Jupyter markdown 单元格中显示图像文件?
- javascript - handleSubmit 函数似乎正在刷新页面而不触发任何内部逻辑
- android - 如何访问文件下的“子”文件夹?
- javascript - 如何使用 Node js 和 Express JS 创建网站
- php - 使用 PHP 提取 IPTC 元数据 - 需要主题代码 HEX 值
- android - Soong UI 权限被拒绝 AOSP 构建
- java - TextTooltip未在android上显示