Python中文
首页
教程
问答
标签
搜索
登录
注册
子进程打开文件和管道awk命令
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>这是我的输入文件格式:</p> <pre><code>@SRR2056440.1 1 length=100 TGTAGGTCTGAGCAGCTTGTCCTGGCTGTGTCCATGTCAGAGCAACGGCCCAAGTCTGGGTCTGGGGGGGAAGGTGTCATGGAGCCCCCTACGATTCCCA +SRR2056440.1 1 length=100 BCBFFFEFHHHHHJJJJJJIJJJJJJJJIJHHIJJIIJJJJJIJJIJJJJJJJJFHIJJJHHHHHHFDDDBDDD>>ACDEDDDDDDDDDDDDDDDDDEDD @SRR2056440.2 2 length=100 CTGCCGCCACCGCAGCAGCCACAGGCAGAGGAGGACGAGGACGACTGGGAATCGTAGGGGGCTCCATGACACCTTCCCCCCCAGACCCAGACTTGGGCCA +SRR2056440.2 2 length=100 CCCFFFFFHHHHHJJJJJJJJJJJIJIJIGJGGIGGJIJJEHFEDDDDDDDDDDABDDDDDDDDDDDDDDADDDDDDDDDDDCDDDDDDBBDDCDDBDD@ @SRR2056440.3 3 length=100 TCTGCCGCCACCGCAGCAGCCACAGGCAGAGGAGGACGAGGACGACTGGGAATCGTAGGGGGCTCCATGACACCTTCCCCCCCAGACCCAGACTTGGGCC +SRR2056440.3 3 length=100 CCCFFFFFHGHHHJJJJJIJJJJJJIJJIJJJIJJIIIGIJ<CDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDCDCBDD </code></pre> <p>这是我要执行的命令:</p> ^{pr2}$ <p>以及命令的输出:</p> <blockquote> <p>100.0 0.0</p> </blockquote> <p>我想使用子进程在python脚本中执行该命令。我试了好几次,但还是搞不懂,这是我最后一次尝试:</p> <pre><code>awk_comm = r"""'NR%4==2{sum+=length($0);nr++;sumsq+=length($0)*length($0)}END{printf"%.1f\t%.1f\n",sum/nr,sqrt(sumsq/nr-(sum/nr)**2)}'""" cmd = ['cat', 'input.fq', '|', 'awk', awk_comm] p2 = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) out1, err = p2.communicate() </code></pre> <p><strong>编辑:</strong></p> <p>我看不出输出有任何错误。它被卡住了,永远在跑。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>默认情况下,Python不使用shell来运行命令……但是管道是由shell计算的!!您需要通过<code>shell=True</code>:</p> <pre><code>p2 = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何添加虚拟方法
3 回答
如何添加表示整数的擦边字符串?
4 回答
如何添加要在Bokeh中使用的新font.ttf文件?
9 回答
如何添加要显示的矩阵XY轴编号和XY轴
6 回答
如何添加计数?
5 回答
如何添加计数器函数?
7 回答
如何添加计数器列来计算数据帧中另一列中的特定值?
10 回答
如何添加计数器来跟踪while循环中的月份和年份?
4 回答
如何添加计数并删除countplot的顶部和右侧脊椎?
3 回答
如何添加计时器wx.应用程序更新窗口对象的主循环?
3 回答
如何添加评论到帖子?PostDetailVew,Django 2.1.5
10 回答
如何添加评论拉梅尔亚姆
2 回答
如何添加诸如矩阵Python/Pandas之类的数据帧?
7 回答
如何添加谷歌地点自动完成到Flask?
8 回答
如何添加超时、python discord bot
10 回答
如何添加超过1dp的检查
8 回答
如何添加距离方法
1 回答
如何添加跟随游戏的敌人精灵
5 回答
如何添加路径以便python可以找到程序?
6 回答
如何添加身份验证/安全性以使用happybase访问HBase?
8 回答