如何将文件从python程序传递到perl脚本,然后在python中重新打开它?

2024-09-29 21:30:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python程序,可以打开和操作一个文件。它接受一个带有单个fasta条目的文件(ex1)并将其拆分为一个mulit fasta文件(ex2)。你知道吗

例1:

>genome_fasta
ATCG.... (thousands of chars)

例2:

>genome_split_1
ATCG.... (300 chars)
>genome_split_2
GCTT.... (300 chars)
>genome_split_3
ATGG....(300 chars, etc.)

很好用。但是现在我想得到每个fasta条目的五核苷酸频率。我有一个perl脚本,它可以很好地完成这项工作,并按照我的要求格式化输出。你知道吗

如何将文件(ex2)传递给这个perl脚本,运行它并获取输出文件,然后将文件传递回python脚本以供进一步操作?你知道吗

我试图理解subprocess模块,因为这似乎是最简单的想法(即在运行./perl的终端上运行一个子流程)_脚本.pl),但我想不通。你知道吗


Tags: 文件of程序目的脚本genomeperlfasta
1条回答
网友
1楼 · 发布于 2024-09-29 21:30:55

可以使用子流程模块的popen方法。你知道吗

from subprocess import Popen, PIPE

p = Popen(['perl', 'myscript.perl'], stdin=PIPE, stdout=PIPE, stderr=PIPE)
output, err = p.communicate(b"input data that is passed to subprocess' stdin")
rc = p.returncode

输出变量就是你的文本。你知道吗

相关问题 更多 >

    热门问题