簡體   English   中英

如何通過 python 調用/運行軟件?

[英]How can I call/run a software by python?

我正在嘗試制作一個簡單的腳本來逐個(一個接一個)運行不同的任務,但我不知道如何通過 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) 

使用子流程模塊 頁面底部有很多示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM