基本上我有一个文本文件,我正在逐行阅读。我想将一些行(文本的一部分)合并到一个字符串中,并将其作为元素添加到列表中。
我要组合的文本的这些部分以字母" 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
因此,我希望将文件中的每个条目作为单个字符串进行操作,并将其附加到列表中。每个条目都由几个空行分隔。
答案 0 :(得分:1)
首先,请勿使用list
作为变量名称。 list
是内置函数,每次在代码中的其他位置指定相同的名称时,都会覆盖它。尝试使用更具描述性的名称,您可以轻松避免这种陷阱。
有一种更简单的方法可以满足您的需求,因为'>gi'
(在您给出的示例中)放在一起。你可以简单地使用拆分,它会给你单位(没有'>gi'
)。
def lines(File):
dataFile = open(File)
wordlist = dataFile.read().split('>gi')
return wordlist