Python:将多行连接成一行/字符串并将其附加到列表中

时间:2015-01-30 09:22:10

标签: python string list merge line

基本上我有一个文本文件,我正在逐行阅读。我想将一些行(文本的一部分)合并到一个字符串中,并将其作为元素添加到列表中。

我要组合的文本的这些部分以字母" gi"开头。并以">"结束。我可以成功地隔离文本的这一部分,但是我无法以任何方式操纵它,我希望它是一个单独的变量,就像一个单独的实体。到目前为止,它只是在列表中添加了一行。

def lines(File):
    dataFile = open(File)
    list =[]
    for letters in dataFile:
        start = letters.find("gi") + 2 
        end = letters.find(">", start)
        unit = letters[start:end]
        list.append(unit)
    return list

这是一个例子: https://www.dropbox.com/s/1cwv2spfcpp0q0s/pythonmafft.txt?dl=0

因此,我希望将文件中的每个条目作为单个字符串进行操作,并将其附加到列表中。每个条目都由几个空行分隔。

1 个答案:

答案 0 :(得分:1)

首先,请勿使用list作为变量名称。 list是内置函数,每次在代码中的其他位置指定相同的名称时,都会覆盖它。尝试使用更具描述性的名称,您可以轻松避免这种陷阱。

有一种更简单的方法可以满足您的需求,因为'>gi'(在您给出的示例中)放在一起。你可以简单地使用拆分,它会给你单位(没有'>gi')。

def lines(File):
    dataFile = open(File)
    wordlist = dataFile.read().split('>gi')
    return wordlist