如果我有一个txt文件,它包含如下内容:
AGCGTTGATAGTGCAGCCATTGCAAAACTTCACCCTA
AGCGTTGATAGTGCAGCCATTGCAAAACTTCACCCTA
AAGAAACGAGTATCAGTAGGATGCAGACGGTTGATTG
但行间有“\n”。
现在如果我想用它们做三胞胎。那么有没有一种方法可以将整个txt文件作为一行来读取,这样它就不会给我:
我上传了我目前的全部代码,因为给出的答案似乎都没有帮助。
这就是我用来将整个字符串拆分为三元组的代码:
fob = open("Exercise.txt", "r")
def read_from_file(filename):
raw_txt = filename.read()
triplets = [raw_txt[i:i+3] for i in range(0, len(raw_txt), 3)]
read_from_file(fob)
或者按照@PM 2Ring的建议:
^{pr2}$只需阅读整个文件并删除新行:
您还可以避免将整个文件读入内存,并在选择三元组时迭代地从中读取。您甚至可以通过使用生成器函数和函数组合(这使得它非常实用):
^{pr2}$您不需要调用readlines,只需迭代文件obejct rstripping每行:
或与
^{pr2}$map
组合:rstrip
还将处理行结尾是什么,不需要传递任何参数。在如果您想要切片,只需对连接的字符串调用
iter
,然后压缩:如果您的数据不是3的倍数并且您不想丢失它,可以使用itertools.zip长网公司名称:
在您的示例输入中,两者都将输出:
相关问题 更多 >
编程相关推荐