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

2024-04-29 03:14:37 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我要合并的文本部分以字母“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

所以我想把文件中的每一个条目都作为一个字符串来处理,并且能够将它附加到一个列表中。每个条目都用几行空行隔开。在


Tags: 字符串文本元素列表unit条目findstart
1条回答
网友
1楼 · 发布于 2024-04-29 03:14:37

首先,不要使用list作为变量名。list是一个内置项,每次在代码的其他地方分配相同的名称时都会重写它。一般来说,试着使用更具描述性的名称,这样就可以很容易地避免这个陷阱。在

因为'>gi'(在您给出的示例中)被放在一起,所以有一种更简单的方法来完成您的要求。您可以简单地使用split,它会给您单位(不带'>gi')。在

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

相关问题 更多 >