将数据读入Python 3.3中的变量

时间:2013-04-24 10:28:29

标签: python python-3.3

我正在努力完成一些相当直接的事情。我想从txt文件创建python中的列表,并且能够像我手动构建它一样打印列表中的每个项目。

例如:

list1 = [
"""
Test1

Test2

Test3
""",
"""
Test4

Test5

Test6
""",]

print (list1[1])
Test4

Test5

Test6

使用txt文件时我很难做到这一点。我希望文本文件的内容是:

"""
Test1

Test2

Test3
""",
"""

Test4

Test5

Test6
""",

并将其读入list1,然后能够从list1打印,如上例所示。我读过的每篇文章都是从文件中读取的,看起来过于复杂,我无法得到我想要的结果,需要帮助。

如果有办法让txt文件以不包含“”“”“的方式格式化,请格式化并包含一些其他分隔字符串的方法,例如”“并以相同的方式结束通过维护换行符的功能,我有兴趣知道

2 个答案:

答案 0 :(得分:1)

使用正则表达式:

import re
with open('test.txt') as f:
    list1 = re.findall(re.compile(r'"""\n((?:[^"]|\n)+)\n"""'),f.read())

print (list1[1])

生成

>>> 

Test4

Test5

Test6
>>> 

答案 1 :(得分:-1)

其他回复可能会为您提供更可靠/更安全的方式,但这就是您要找的内容:

with open('myfile.txt') as f:
    contents = f.read()
    list1 = eval('[' + contents + ']')