相关疑难解决方法(0)

如何使用subprocess.Popen通过管道连接多个进程?

如何使用Python subprocess模块执行以下shell命令?

echo "input data" | awk -f script.awk | sort > outfile.txt
Run Code Online (Sandbox Code Playgroud)

输入数据将来自一个字符串,所以我实际上并不需要echo.我已经走到这一步了,任何人都可以解释我是如何通过它来解决的sort吗?

p_awk = subprocess.Popen(["awk","-f","script.awk"],
                          stdin=subprocess.PIPE,
                          stdout=file("outfile.txt", "w"))
p_awk.communicate( "input data" )
Run Code Online (Sandbox Code Playgroud)

更新:请注意,虽然下面接受的答案实际上没有回答问题,但我相信S.Lott是对的,最好避免首先解决这个问题!

python subprocess pipe

52
推荐指数
4
解决办法
5万
查看次数

子进程模块,特使,sarge和pexpect之间的差异?

我正在考虑制作一个程序,需要发送输入并从各种aircrack-ng套件工具中获取输出.我知道几个python模块,如subprocess,envoy,sarge和pexpect,它们将提供必要的功能.任何人都可以建议我应该使用或不使用,特别是因为我是python的新手.

谢谢

python

8
推荐指数
1
解决办法
3826
查看次数

子流程中的多个管道

我试图在ruffus管道中使用Sailfish,它将多个fastq文件作为参数.我在python中使用子进程模块执行Sailfish,但是<()在子进程中调用即使在我设置时也不起作用shell=True.

这是我想用python执行的命令:

sailfish quant [options] -1 <(cat sample1a.fastq sample1b.fastq) -2 <(cat sample2a.fastq sample2b.fastq) -o [output_file]
Run Code Online (Sandbox Code Playgroud)

或(最好):

sailfish quant [options] -1 <(gunzip sample1a.fastq.gz sample1b.fastq.gz) -2 <(gunzip sample2a.fastq.gz sample2b.fastq.gz) -o [output_file]
Run Code Online (Sandbox Code Playgroud)

概括:

someprogram <(someprocess) <(someprocess)
Run Code Online (Sandbox Code Playgroud)

我将如何在python中执行此操作?子流程是正确的方法吗?

python subprocess pipe named-pipes

7
推荐指数
1
解决办法
2704
查看次数

如何在Linux命令中使用Python

我习惯于编写很多AWK命令,但是,一直想用Python来做与awk相同的事情,而不需要编写.py文件.我在Python中有基础知识,但在命令行中没有.

例如,我有以下AWK命令.python的等价物是什么?

awk '/Classic.java/ {print $0}' somefile.log;
Run Code Online (Sandbox Code Playgroud)

python linux awk

-1
推荐指数
1
解决办法
121
查看次数

标签 统计

python ×4

pipe ×2

subprocess ×2

awk ×1

linux ×1

named-pipes ×1