Skip to main content
 首页 » 编程设计

python之如何通过 python 调用/运行软件

2025年05月04日17bluestorm

我正在尝试制作一个简单的脚本来一个接一个(一个接一个地)运行不同的任务,但我不知道如何通过 python 脚本运行程序!我知道这应该很简单!但我无法在任何地方找到它。我的例子是这样的:

samtools merge filename.bam file1.sorted.bam file2.sorted.bam file3.sorted.bam file4.sorted.bam 
 
samtools index filename.bam  
samtools idxstats filename.bam > filename.txt  
samtools pileup -vcf path/filename.fa filename_sorted.bam 

我希望 python 运行第一个命令并在完成后转到下一个命令!重要的是要等到它完成!

请您参考如下方法:

from subprocess import call # call runs an external program and waits for it to quit 
 
for command in ("samtools merge filename.bam file1.sorted.bam file2.sorted.bam file3.sorted.bam file4.sorted.bam",  
                "samtools index filename.bam",  
                "samtools idxstats filename.bam > filename.txt",  
                "samtools pileup -vcf path/filename.fa filename_sorted.bam"): 
    # shell=True is so you can handle redirects like in the 3rd command 
    call(command, shell=True)