我有两个地方可以存储我的海量数据:
/data
/work
.
/数据
是质量控制后(中间)结果移动到的文件夹。它是为标准用户只读安装的。
是写入新结果的文件夹。显然,它是可写的。
我不想从中复制或链接数据
到
/工作
.
蛇人
从内部
/工作
文件夹,并希望我的输入功能首先检查,如果所需的文件存在于
(并返回绝对值
/数据
def in_func(wildcards):
file_path = apply_wildcards('{id}/{visit}/{id}_{visit}-file_name_1.txt', wildcards)
full_storage_path = os.path.join('/data', file_path)
if os.path.isfile(full_storage_path):
file_path = full_storage_path
return {'myfile': file_path}
rule do_something:
input:
unpack(in_func),
params = '{id}/{visit}/{id}_{visit}_params.txt',
通用输入函数
将文件名作为输入,例如
{id}/{visit}/{id}_{visit}-file_name_1.txt
通配符呢?
我也试过类似的方法
def in_func(file_path):
full_storage_path = os.path.join('/data', file_path)
if os.path.isfile(full_storage_path):
file_path = full_storage_path
file_path
rule do_something:
input:
myfile = in_func('{id}/{visit}/{id}_{visit}-file_name_1.txt')
params = '{id}/{visit}/{id}_{visit}_params.txt',
但是我无法访问中的通配符
in_func()
是吗?
谢谢