从外部 .py 文件中的列表打印项目

Print items from a list in an external .py file

我在外部文件中有一个列表,我可以访问该文件,但我在该文件中有一个名为 facts 的列表,上面有一些项目,但我该如何阅读该列表中的项目?它是这样的

x = open("Trivia"+"/fact.py", "r")
f = x.read()
fact = f.? 

在那里我必须做什么?如果我 运行 这样的代码,它只会打印带有变量名和所有内容的整个列表。

open 用于包含数据的文件;对于典型用例,通常使用 import. See The Python Tutorial's section 6. Modules 访问包含 Python 代码的文件。

假设您总是运行从同一目录中安装您的脚本:

import Trivia.fact

do_something_with(Trivia.fact.facts)

或者,如果您只打算使用那个值:

from Trivia.fact import facts

do_something_with(facts)

如果你想将所有这些作为一个包安装,以便你可以从任何地方 运行 它,你还必须了解 packages, and maybe the import path,但在它完成之前不要担心清楚你需要它。


所有这些都假设将数据存储在 Python 文件中有一些优势 --- 就像它是一个需要一些工作才能初始化的对象列表。如果它只是像字符串这样的 "raw" 数据,那么每行一个字符串的纯文本文件可能是可行的方法......你会回到使用 open 并且可能 readlinesfor line in ...:.

"Nearly-raw" 表格、数字和字符串字典或列表列表等数据可以使用 json or csv 模块读取和写入,具体取决于数据的复杂程度和您使用的格式比较舒服。