我正在使用 python 子进程模块在我的 python 代码中运行一个 unix 命令。我只想检查输入文件的同一行中是否存在特定搜索词(输入文件大小为 1.8 GB)。这是我写的 python 代码。然而,当我执行这个程序时,我的 python 代码被杀死了。
import subprocess output = subprocess.Popen(['zcat', '/home/user/input_data/sample_ID/file_name.gvcf.gz', '|', 'grep', '-w', 'chr7', '|', 'grep', '-w', '87509329'], stdout=subprocess.PIPE).communicate()[0] print(output)
Killed
如果我在我的终端中运行同样的命令,我能够正确地得到结果。这是我在终端运行时得到的结果
zcat file_name.gvcf.gz | grep -w "chr7" | grep -w "87509329" chr7 87509329 . A . . . DP=29 GT:AD:DP:ICNT:RGQ:SPL 0/0:99:29:127,1,1,0,0,0,0,0:81:0,81,255
我假设是因为一些内存问题,我的 python 代码被杀死了。谁能指导我如何解决这个问题?
我只是想检查输入文件中的同一行中是否存在“chr7”和“87509329”这两个模式而不解压缩它。