将数据读入变量,如Python 3.3中所示

将数据读入变量,如Python 3.3中所示,python,python-3.3,Python,Python 3.3,我正试图直接完成一些事情。我想用python从txt文件创建一个列表,并能够像手动构建列表一样打印列表中的每个项目 例如: list1 = [ """ Test1 Test2 Test3 """, """ Test4 Test5 Test6 """,] print (list1[1]) Test4 Test5 Test6 在使用txt文件时,我很难做到这一点。我希望文本文件的内容为: """ Test1 Test2 Test3 """, """ Test4 Test5

我正试图直接完成一些事情。我想用python从txt文件创建一个列表,并能够像手动构建列表一样打印列表中的每个项目

例如:

list1 = [
"""
Test1

Test2

Test3
""",
"""
Test4

Test5

Test6
""",]

print (list1[1])
Test4

Test5

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

"""
Test1

Test2

Test3
""",
"""

Test4

Test5

Test6
""",
并将其读入列表1,然后可以从列表1打印,如上面的示例所示。我读的每一篇关于阅读文件的文章似乎都过于复杂,我无法得到我想要的结果,我需要帮助

如果有一种方法可以将txt文件的格式设置为不包含“”的格式,并包括一些其他分隔字符串的方法,例如“”并通过维护换行符以相同的功能结束,我想知道使用正则表达式:

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
>>> 
其他响应可能会为您提供更可靠/安全的方法,但以下是您需要的:

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

我不明白你为什么需要一份清单。您只是想打印纯文本文件的内容,还是其中的一部分?你到底想实现什么?试试“eval”(“[”+open(…).read()+”])如果你按照上面@User的建议做的话,请确保你在以后关闭该文件。我只想打印纯文本文件的一个随机部分。由于我对python相当陌生,我只知道从列表中打印随机字符串,所以我尝试将这些知识结合起来。我不知道为什么这是关闭,我很清楚,这显然是一个真正的问题。@Simkill这可能只是一个问题。如果你清楚自己想要达到的目标,而不是仅仅询问你当前的解决方案,你会得到更好的结果。尽管如此,请随意打开问题的新版本。:-)谢谢你!我明天考试。当然,不用担心,伙计。如果你想让我解释正则表达式,就问吧。