我目前正在尝试将bash命令的结果放入Cheetah变量中:
#set $name = #echo '$input.element_identifier' + ".phy" | cut -d _ -f 1
' $ input.element_identifier' 是(一种)指向前一个输入文件名称的链接(我尝试在xml包装器的部分中执行此操作Galaxy,一种生物信息学软件)
我的问题是猎豹不承认' $'在echo命令中......我尝试了很多其他语法,但问题仍然存在(所以我不知道命令的其余部分是否正确)
这是一个相当具体的问题(与管理和使用Galaxy软件有关),我希望我能说清楚。
由于
答案 0 :(得分:0)
您当前的方法有两个错误:
#echo
不执行操作系统命令,#echo
执行Python表达式。
#echo
没有返回结果,#echo
将结果放入输出流(HTML或输出的任何内容)。
要执行操作系统命令,您需要os.system()
或subprocess.Popen()
。要分配命令的结果,您当然需要捕获命令的标准输出,Popen
可以更好地完成任务。
类似的东西:
#import subprocess
#set $name = $subprocess.check_output($input.element_identifier + '.phy | cut -d _ -f 1', shell=True)