【问题标题】:Print items from a list in an external .py file从外部 .py 文件的列表中打印项目
【发布时间】:2017-02-25 06:09:11
【问题描述】:

我在外部文件中有一个列表,我可以访问该文件,但我在该文件中有一个名为 facts 的列表,上面有一些项目,但我如何从该列表中读取项目?它类似于

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

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

【问题讨论】:

  • 您是否尝试将 Python 文件视为文本文件?因为这就是它的样子。
  • @SwiftsNamesake 哦...我不知道它仅适用于文本文件...只是列表很长,我需要将它放在另一个文件中。跨度>
  • 假设 Trivia/fact.py 是一个 Python 源文件,它定义了一组事实,您可能只想从脚本中导入它。
  • 你知道modules对吗?
  • 是的,我知道,但我来自另一种语言,我已经习惯了这些东西;我正在研究在我的文件中包含脚本。 @SwiftsNamesake

标签: python file-io import module python-module


【解决方案1】:

open 用于包含数据的文件;包含 Python 代码的文件通常使用import 访问。有关典型用例,请参阅 The Python Tutorial 的部分 6. Modules

假设你总是从同一个目录运行你的脚本:

import Trivia.fact

do_something_with(Trivia.fact.facts)

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

from Trivia.fact import facts

do_something_with(facts)

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


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

“接近原始”的数据,如表格、数字和字符串字典或列表列表,可以使用jsoncsv 模块进行读写,具体取决于您的数据的复杂程度和您使用的格式'更舒服。

【讨论】:

  • 哦,我真的让它工作了。非常感谢;我不知道我可以通过 import 导入类似的东西。
猜你喜欢
  • 2018-09-29
  • 1970-01-01
  • 2022-08-08
  • 2014-01-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多