- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
确定的解决方案:应该注意,它应该像迭代它以附加到列表一样简单......但是,应该指出的是,为什么这对我不起作用的大问题是我正在使用和IDE(Spyder 4.1.3),当我运行代码时,它没有执行我想要的输出。但是,如果我将其保存到 py 脚本中并执行,则通过迭代附加数据不会出现问题...
结论是,如果使用 IDE 并通过执行整个脚本来运行问题测试以排除 IDE 错误。
我有一个类,我想用它来解析一些数据。我成功地使用了它并创建了一个变量来保存这个类的输出。我可以使用 for 循环来查看解析的数据,但我无法将它们保存到实际列表中。有人可以帮我把这些数据拿出来吗?
Class:
You can use this code and put it in your own script
class ParseFastQ(object):
"""Returns a read-by-read fastQ parser analogous to file.readline()"""
def __init__(self,filePath,headerSymbols=['@','+']):
"""Returns a read-by-read fastQ parser analogous to file.readline().
Exmpl: parser.__next__()
-OR-
Its an iterator so you can do:
for rec in parser:
... do something with rec ...
rec is tuple: (seqHeader,seqStr,qualHeader,qualStr)
"""
if filePath.endswith('.gz'):
self._file = gzip.open(filePath)
else:
self._file = open(filePath, 'rU')
self._currentLineNumber = 0
self._hdSyms = headerSymbols
def __iter__(self):
return self
def __next__(self):
"""Reads in next element, parses, and does minimal verification.
Returns: tuple: (seqHeader,seqStr,qualHeader,qualStr)"""
# ++++ Get Next Four Lines ++++
elemList = []
for i in range(4):
line = self._file.readline()
self._currentLineNumber += 1 ## increment file position
if line:
elemList.append(line.strip('\n'))
else:
elemList.append(None)
# ++++ Check Lines For Expected Form ++++
trues = [bool(x) for x in elemList].count(True)
nones = elemList.count(None)
# -- Check for acceptable end of file --
if nones == 4:
raise StopIteration
# -- Make sure we got 4 full lines of data --
assert trues == 4,\
"** ERROR: It looks like I encountered a premature EOF or empty line.\n\
Please check FastQ file near line number %s (plus or minus ~4 lines) and try again**" % (self._currentLineNumber)
# -- Make sure we are in the correct "register" --
assert elemList[0].startswith(self._hdSyms[0]),\
"** ERROR: The 1st line in fastq element does not start with '%s'.\n\
Please check FastQ file near line number %s (plus or minus ~4 lines) and try again**" % (self._hdSyms[0],self._currentLineNumber)
assert elemList[2].startswith(self._hdSyms[1]),\
"** ERROR: The 3rd line in fastq element does not start with '%s'.\n\
Please check FastQ file near line number %s (plus or minus ~4 lines) and try again**" % (self._hdSyms[1],self._currentLineNumber)
# -- Make sure the seq line and qual line have equal lengths --
assert len(elemList[1]) == len(elemList[3]), "** ERROR: The length of Sequence data and Quality data of the last record aren't equal.\n\
Please check FastQ file near line number %s (plus or minus ~4 lines) and try again**" % (self._currentLineNumber)
# ++++ Return fatsQ data as tuple ++++
return tuple(elemList)
fastqfile=ParseFastQ('filepath')
In: type(fastqfile)
Out: __main__.ParseFastQ
for fastq_obj in fastqfile:
#This is the header
print(fastq_obj[0])
seqHeader=[]
for fastq_obj in fastqfile:
#This is the header
seqHeader.append(print(fastq_obj[0]))
最佳答案
试试这个 :
seqHeader=[]
for fastq_obj in fastqfile:
#This is the header
seqHeader.append(fastq_obj[0])
# look at the seqHeader list
print(seqHeader)
print()
func 内追加。
print()
func 不返回任何内容,因此列表中不能附加任何内容。
关于python-3.x - 从 __main__ 保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62043501/
假设这样一个函数: In [56]: def add_numbers(x, y): return x + y 当我在没有括号的情况下使用它 In [57]: add_numbers Out[57]:
目前在 Django 网站上工作,我在将类及其属性从我的 models.py 模块导入到我的 views.py 模块时遇到问题音乐应用。据我了解,Django 使用元类来构建模型,因此定义的字段不会作
如果我执行 main.py它工作正常,问题是当我执行 demo2.py |myPackage |subPackage demo.py demo2.py main.p
当前尝试在 Python3 中工作并使用绝对导入将一个模块导入另一个模块,但出现错误 ModuleNotFoundError: No module named '__main__.moduleB';
我有一个 Tornado 应用程序,其文件结构如下: projectfolder |_ Dockerfile |_ src |_ __init__.py |_ __main__.py |_ co
我正在创建一个用于网页抓取的应用程序目录,该目录是在我的 django_project 中抓取的。我在将 models.py 模块中的类导入到views.py 模块中时遇到错误。 这是我的项目结构:
我在 Windows 10 上使用 Python 3.6。我在同一目录中有 2 个 .py 文件,char.py 和 char_user.py,如下所示: 字符.py: # char.py impor
import pickle class NoClass(): def __init__(self, name, level, cls, time_played): self.n
您好,我想测试我的可执行模块 main.py。在这个模块中有一个函数 main() 有两个参数: # main.py def main(population_size: int, number_of_
这在Python中合法吗?似乎有效... 谢谢 # with these lines you not need global variables anymore if __name__ == '__m
假设我们执行script_1。因此,script_1 是 __main__。但是,script_1 从 script_2 导入一些类。有没有办法,当我们输入 script_2 保存旧的 __main_
有没有这样的情况: import __main__ 可能会导致 ImportError?我尝试过的所有案例似乎都表明这总是有效的。 __main__ 上的文档似乎没有对此事发表任何看法。 为了提供一些
这个问题在这里已经有了答案: How to make __name__ == '__main__' when running module (4 个答案) 关闭 6 年前。 我有一个 python
我想通过测试确保:- 应用程序无法导入- 该应用程序可以作为真实应用程序启动(即:python src.py) 我对此很感兴趣,为什么以下不起作用: src.py class A: def x(se
我刚刚开始学习 Python,有一件事情困扰着我,那就是 "__main__" 的确切类型。到目前为止,我已经看到 "__main__" 主要用作字符串文字,如 __name__ == "__main
我有一个模块有通常的 if __name__ == '__main__': do stuff... 成语。 我想从另一个模块导入它,然后让它运行该代码。有什么办法吗? 我应该提一下,由于我不会
在Python,我们经常会编写 ? 1
我有这个 python 代码,我想从 Windows 运行中运行它。但是,当我尝试运行它时,cmd 会显示此消息。 C:\Users\myName\AppData\Local\Programs\Pyt
我无法在 python (2.7) 中正确命名子记录器。我有以下文件结构: -mypackage -__init__.py -main.py -log -__init__.py
当我尝试运行我的代码时出现此错误:\AppData\Local\Microsoft\WindowsApps\PythonSoftwareFoundation.Python.3.8_qbz5n2kfra
我是一名优秀的程序员,十分优秀!