我是Python和编程的新手,所以这可能很容易,但我找不到合适的答案。我正在尝试做以下事情。我想在模块中有一个模块,它应该由我的主模块进行修改。 此外,如果具有变量和变量的模块已经存在,从一开始就不清楚。 目前我做了以下内容:修改其他模块中的变量
# test2.py
import os
# creates module test1
if os.path.isfile('test1.py') and os.path.getsize('test1.py') > 8:
pass
else:
txt = open('test1.py','w')
txt.write('testvar = {}')
txt.close()
import test1
testvar = test1.testvar
我testmodule如下所示:
# test.py
import test2
testvar = test2.testvar
# now modify testvar
txt = open('test1.py','w')
txt.write('testvar = '+repr(testvar))
txt.close()
这工作,如果在Python运行test.py但它有缺点,我需要一个用于任何类似testvar变量的独立模块。我宁愿如果我可以有一个单一的模块与许多这样的变量,并使用某种test1.testvar.update(entry)
-方法来更改变量。 此外,如果我使用py2exe创建一个exe文件,那么应用程序不会识别testvar变量。所以这个方法还有一个问题。 我想要所有这些的原因是在程序的许多不同运行中更改变量。 谢谢你的任何建议。
请停止这样做。使用普通文件存储变量,例如JSON格式或XML。你想要做的是非常难看的。 – poe123
或[''pickle''](https://docs.python.org/2/library/pickle.html)。请记住,python是一种纯粹解释的语言。代码中的值不是常量,而是在运行时动态加载的值,并没有真正的性能优势。自我修改代码只是一种灾难。 – aruisdante
@ poe123正如我写的,我已经假设,这将是糟糕的。这只是我能做的最好的事情。是否有理由为什么我应该使用XML或JSON而不是* .py?从我刚读的JSON文件看起来就像* .py一样。 –