【发布时间】:2020-02-02 13:28:44
【问题描述】:
这似乎是一个非常明显/愚蠢的问题,但有一些规范使这变得更加困难。
假设我有一个程序,它从用户那里获取 3 个数字,并对它们进行数学处理以获得输出。然后我open("file", "r") 将这些变量写入文件。
然后,假设另一个程序然后imports 它们并将它们用于其他进程。我需要能够将 file 作为 Python 代码导入。明确一点:我没有保存文本,我将 python 代码保存到一个不是 .py 文件的文件中。
有没有办法在非.py 文件中保存和导入 Python 代码?怎么做?
编辑:在我保存和导入的文件中,我还保存了 Python 函数。我不能简单地保存变量本身;我需要将变量名称、值和 python 函数保存为文件中的普通文本,但是当我导入文件时,它应该被解析为 Python 代码。
【问题讨论】:
-
不要将结果保存为 python 文件。使用一些最适合的文件格式。
-
"I am not saving text, I am saving python code to a file that is not a .py file."但是,为什么?使用pickle,甚至是普通的json。不要保存python代码,保存数据。 -
@Daniel 这就是我的意思,想象程序输出
number1=10 number2=20 number3=30,我想将确切的python代码保存到非python文件中,但是在运行时将其导入,就好像它是普通的python代码。 -
使用一些不是 python的格式,例如JSON:
{"number1": 10, "number2": 20}。这可以通过json.dump或json.load轻松保存和阅读。 -
@Daniel 抱歉,我不确定我是否清楚。我想将 python 代码保存到一个非 python 文件中,然后将该非 python 文件作为 python 代码导入。该文件不是
.py文件,但它包含导入时应在程序中解析为python 代码的python 代码。编辑:刚刚看到您编辑的评论,我现在就查看json。
标签: python python-3.x python-import python-3.7