gpt4 book ai didi

python - snakemake:访问字典值的正确语法

转载 作者:太空宇宙 更新时间:2023-11-04 11:20:42 24 4
gpt4 key购买 nike

这是我正在尝试做的一个例子:

mydictionary={
'apple': 'crunchy fruit',
'banana': 'mushy and yellow'
}

rule all:
input:
expand('{key}.txt', key=mydictionary.keys())

rule test:
output: temp('{f}.txt')
shell:
"""
echo {mydictionary[wildcards.f]} > {output}
cat {output}
"""

出于某种原因,我无法访问词典内容。我尝试使用双花括号,但文本文件的内容变成了文字 {mydictionary[wildcards.f]}(而我想要字典中相应条目的内容)。

最佳答案

我很确定括号标记只能用变量值的字符串表示替换变量,但不支持括号内的任何代码评估。也就是说,{mydictionary[wildcards.f]} 将尝试查找字面上名为 "mydictionary[wildcards.f]" 的变量。同样,{mydictionary}[{wildcards.f}] 只会将字符串值粘贴在一起。所以,我不认为你可以单独在 shell 部分中做你想做的事。相反,您可以在 params 部分完成您想要的:

rule test:
output: temp('{f}.txt')
params:
value=lambda wcs: mydictionary[wcs.f]
shell:
"""
echo '{params.value}' > {output}
cat {output}
"""

关于python - snakemake:访问字典值的正确语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56042158/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com