Python中文
首页
教程
问答
标签
搜索
登录
注册
Python/Multiprocessing:进程似乎不是
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个函数,它读取二进制文件并将每个字节转换成相应的字符序列。例如,0x05变为'AACC',0x2A变为'AGGG'等…读取文件并转换字节的函数目前是线性函数,由于要转换的文件介于25kb和2Mb之间,这可能需要相当长的时间。在</p> <p>因此,我尝试使用多处理来划分任务,希望能提高速度。但是,我就是不能让它工作。下面是一个线性函数,它工作得很慢</p> <pre><code>def fileToRNAString(_file): if (_file and os.path.isfile(_file)): rnaSequences = [] blockCount = 0 blockSize = 2048 printAndLog("!", "Converting %s into RNA string (%d bytes/block)" % (_file, blockSize)) with open(_file, "rb") as hFile: buf = hFile.read(blockSize) while buf: decSequenceToRNA(blockCount, buf, rnaSequences) blockCount = blockCount + 1 buf = hFile.read(blockSize) else: printAndLog("-", "Could not find the specified file. Please verify that the file exists:" + _file) return rnaSequences </code></pre> <p>注意:函数'<i>decSequenceToRNA</i>'接受缓冲区读取并将每个字节转换为所需的字符串。在执行时,函数返回一个包含块号和字符串的元组,例如(1,'ACCGTAGATTA…'),最后,我有一个这些元组的数组可用。在</p> <p>我试图将函数转换为使用Python的多处理</p> ^{pr2}$ <p>但是,似乎没有进程启动,因为当这个函数运行时,返回一个空数组。在“<i>decSequenceToRNA</i>”中打印到控制台的任何消息都不会显示</p> <pre><code>>>>fileToRNAString(testfile) [!] Converting /root/src/amino56/M1H2.bin into RNA string (2048 bytes/block). </code></pre> <p>与这里的<a href="https://stackoverflow.com/questions/17604098/process-not-starting-in-python">question</a>不同,我运行的是<I>LinuxShiva 3.14-kali1-amd64#1smpdebian 3.14.5-1kali1(2014-06-07)x86_64 GNU/Linux</I>,并使用pyrclast在Python版本2.7.3上测试函数。我正在使用以下软件包:</p> <pre><code>import os import re import sys import urllib2 import requests import logging import hashlib import argparse import tempfile import shutil import feedparser from multiprocessing import Process </code></pre> <p>我想知道为什么我的代码不起作用,或者我在其他地方遗漏了一些东西来让这个过程正常工作。同时也欢迎改进代码的建议。以下是“<i>decSequenceToRNA</i>”以供参考:</p> <pre><code>def decSequenceToRNA(_idxSeq, _byteSequence, _rnaSequences): rnaSequence = '' printAndLog("!", "Processing block %d (%d bytes)" % (_idxSeq, len(_byteSequence))) for b in _byteSequence: rnaSequence = rnaSequence + base10ToRNA(ord(b)) printAndLog("+", "Block %d completed. RNA of %d nucleotides generated." % (_idxSeq, len(rnaSequence))) _rnaSequences.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>((_idxSeq, rnaSequence)) </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>试着写这个(参数列表末尾的逗号)</p> <pre><code>p = Process(target=decSequenceToRNA, args=(blockCount, buf, rnaSequences,)) </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
文本导入时标题行中的特殊字符
6 回答
文本小部件:在没有输入时更新并在循环后保持空闲
5 回答
文本小部件tkin
6 回答
文本小部件tkinter中的标签更改或文本外观更改是否有撤消功能?
10 回答
文本小部件tkinter复制图像选项
7 回答
文本小部件上的Python Tkinter ttk滚动条未缩放
3 回答
文本小部件上的滚动条可能需要根据制表符ord显示前进行滚动
9 回答
文本小部件不显示lis中的内容
8 回答
文本小部件不显示Unicode字符
8 回答
文本小部件中写入的行间距
10 回答
文本小部件中的文本作为变量
8 回答
文本小部件中的滚动条仅显示在底部
8 回答
文本小部件中的选项卡键空间计数
2 回答
文本小部件作为Lis
1 回答
文本小部件在主框架中扩展列宽
6 回答
文本小部件未使用删除功能清除
4 回答
文本小部件滚动动画(Tkinter、Python)
6 回答
文本居中。格式正确吗?
10 回答
文本差分算法
8 回答
文本已知时音频文件中的单词索引
7 回答