我想在Python脚本中添加一个Linux命令(使用subprocess
模块)。这是我要添加的命令:
awk '/^>/ {printf("%s%s\t",(N>0?"\n":""),$0);N++;next;} {printf("%s",$0);} END {printf("\n");}' < input.fa
现在我的代码是这样的:
out = subprocess.Popen(["awk '/^>/ {printf("%s%s\t",(N>0?"\n":""),$0);N++;next;} {printf("%s",$0);} END {printf("\n");}' < input.fa"],
stdout = subprocess.PIPE,
stderr = subprocess.STDOUT)
stdout, stderr = out.communicate()
print(stdout)
print(stderr)
然而,我的语法似乎有点错误。在我看到的其他一些示例中,似乎需要使用撇号将命令拆分为多个部分—但是,此命令相当复杂,我不知道在何处需要拆分。你知道吗
我将感谢任何帮助,以确定根本的问题和纠正这个脚本的语法。你知道吗
我已经设法通过使用一个执行相同操作但不包含任何“\n”的命令来规避我的问题,这似乎是导致我的问题的原因。此外,使用不同的引号(即“and”)有助于防止这一问题的发生。代码现在看起来像这样,并执行我需要它执行的操作:
相关问题 更多 >
编程相关推荐