I need to dynamically assign variables from one file in another file. This was attempted by doing the following. In file1.py:
var1 = 1
var2 = 2
Then in file2.py:
import file1
Class File2
def assign2(self, varName, val)
...
(do stuff)
...
setattr(file1, varName, val)
print(str(getattr(file1, varName))) -> 3, 4
def assign1(self)
self.assign2("var1", 3)
self.assign2("var2", 4)
print(str(getattr(file1, "var1"))) -> 1
print(str(getattr(file1, "var2"))) -> 2
If I simply call file1.var1 = 3 anywhere in file2.py then the update occurs, but for some reason using dynamic assignment with setattr does not. Any help is appreciated.
I've reworked my code so that I don't have to do dynamic assignments, but for future reference,
exec()worked, although its dangerous: