在Python中编写以空白分隔的文本是人类可读的

Jak*_*ake 4 python whitespace human-readable

我有一个列表列表,看起来像这样:

data = [['seq1', 'ACTAGACCCTAG'],
        ['sequence287653', 'ACTAGNACTGGG'],
        ['s9', 'ACTAGAAACTAG']]
Run Code Online (Sandbox Code Playgroud)

我将信息写入这样的文件:

for i in data:
    for j in i:
        file.write('\t')
        file.write(j)
    file.write('\n')
Run Code Online (Sandbox Code Playgroud)

输出如下所示:

seq1   ACTAGACCCTAG  
sequence287653   ACTAGNACTGGG  
s9   ACTAGAAACTAG  
Run Code Online (Sandbox Code Playgroud)

由于每个内部列表中第一个元素的长度不同,列不能整齐排列.如何在第一个和第二个元素之间编写适当数量的空白以使第二列符合人类可读性?

Mar*_*nen 10

你需要一个格式字符串:

for i,j in data:
    file.write('%-15s %s\n' % (i,j))
Run Code Online (Sandbox Code Playgroud)

%-15s表示左对齐字符串的15空格字段.这是输出:

seq1            ACTAGACCCTAG
sequence287653  ACTAGNACTGGG
s9              ACTAGAAACTAG
Run Code Online (Sandbox Code Playgroud)