在Python中显示和格式化外部文件中的列表

时间:2018-04-19 00:35:04

标签: python-3.x list for-loop

我有一个外部文件,我正在读取列表,然后打印出列表。到目前为止,我有一个for循环,它能够读取列表并打印出列表中的每个项目,格式与存储在外部文件中的格式相同。我在文件中的列表是:

['1', '10']
['Hello', 'World']

到目前为止,我的计划是:

file = open('Original_List.txt', 'r')
file_contents = file.read()
for i in file_contents.split():
    print(i)
file.close()

我想要获得的输出:

1        10
Hello    World

我目前的输出是:

['1',
'10']
['Hello',
'World']

我已经在那里,我已经设法将列表中的项分成单独的行,但我仍然需要删除方括号,引号和逗号。我已经尝试使用循环遍历行中的每个项目,只有在它不包含任何方括号,引号和逗号时才显示它,但是当我这样做时,它将列表项分成单个字符而不是把它作为一个整个项目。我还需要能够显示第一个项目,然后将其选中,并打印第二个项目等,以使输出看起来与外部文件相同,除非删除了方括号,引号和逗号。有关如何做到这一点的任何建议?我是Python新手,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

格式化是你的朋友。

file = open('Original_List.txt', 'r'))
file_contents = file.readlines() # change this to readlines so that it splits on each line already
for list in file_contents:
    for item in eval(list): # be careful when using eval but it suits your use case, basically turns the list on each line into an 'actual' list
        print("{:<10}".format(i)) # print each item with 10 spaces of padding and left align
    print("\r\n") # print a newline after each line that we have interpreted 
file.close()