Python 使用部分字符串从文件中获取字符串

Python 使用部分字符串从文件中获取字符串,python,bioinformatics,Python,Bioinformatics,我有一个包含如下字符串的文件: 档案室 现在我想从另一个包含数字的文件中获取相应的字符串: 档案室 我现在有些东西在为我工作,因为秩序得到了维护。 有没有办法让它在没有行号的情况下工作 linenumber = 0 for line in file_B: if linenumber > 10 and linenumber < 100: outfile.write(line) linenumber += 1 l

我有一个包含如下字符串的文件:
档案室

现在我想从另一个包含数字的文件中获取相应的字符串:
档案室

我现在有些东西在为我工作,因为秩序得到了维护。 有没有办法让它在没有行号的情况下工作

linenumber = 0

    for line in file_B:  
        if linenumber > 10 and linenumber < 100:  
            outfile.write(line)
        linenumber += 1
linenumber=0
对于文件_B中的行:
如果线号>10且线号<100:
输出文件。写入(行)
行号+=1
谢谢

输出:

'Solyc01g094920.2.1'
'Solyc01g094930.1.2'
["Solyc01g094920.2.1"]
["Solyc01g094930.1.2"]
只需使用
split()

更新:对于文件\u B中的行,但不在文件\u A中:

for line in file_B:
    t = line.split('.')
    target = t[0]
    if target not in file_A:
         outfile.write(target)
更新:仅适用于文件_B中也在文件_A中的行:

for line in file_B:
    t = line.split('.')
    target = t[0]
    if target in file_A:
         outfile.write(target)
输出:

'Solyc01g094920.2.1'
'Solyc01g094930.1.2'
["Solyc01g094920.2.1"]
["Solyc01g094930.1.2"]

什么是
x
?张贴您正在使用的完整代码行号如何既大于又小于
x
?!?秩序保护?您的代码中使用了哪个文件a或文件B?文件a是文件B的一部分。现在我想要文件a的相同名称,包括最后的数字。这些可以在文件B中找到。对不起,在我的代码中引用文件A需要是文件B感谢回复,但我想从文件B中获取字符串,而不使用行号。相反,我想使用字符串的相似性。我想使用一种不需要行号的方法,这样我就可以将其应用于其他文件。谢谢,但我想用另一种方式。我已经在文件_A中有了字符串。现在我需要文件_B中的一些字符串。这些字符串是相同的,只是它们的末尾包含了额外的数字。不知何故,我需要使用file_A strings在file_B中找到相应的字符串。上面的答案将为您提供不在file_A中的行,如果您只想从同一行中找到相应的“附加代码”,那么。。这将是另一次编辑,请澄清我是否遗漏了一些内容。嘿,Marmik,这还不是我想要的,但给了我如何做的信息。谢谢你`文件\u A\u list=[]用于文件\u A:line=line.strip('\n')文件\u A\u list.append(line)用于文件\u B:t=line2.split('.')target=t[0]如果文件\u\u list中的目标为outfile.write(line2)'
for line in file_B:
    t = line.split('.')
    target = t[0]
    if target in file_A:
         outfile.write(target)
import re

a = """'Solyc01g094920'
'Solyc01g094930'"""
b = """'Solyc01g094410.2.1'
'Solyc01g094820.1.2'
'Solyc01g094900.1.2'
'Solyc01g094910.1.1'
'Solyc01g094920.2.1'
'Solyc01g094930.1.2'"""

for n in a.splitlines():
    n = "("+n.strip("'")+".*)'" # this find the pattern lineA plus anything.
    print re.findall(n,b)
["Solyc01g094920.2.1"]
["Solyc01g094930.1.2"]