I think that this is a quite basic question, but I wasn't able to find anything. Sorry if this happen to be a duplicate.
I have a file with some functions defined, let's call this file main_functions.py
.
In this file I rely on a function, which we can call foo()
. For instance, in the file main_functions.py
we can have something like this:
def bar():
return foo()
foo()
is definend in another file, called secondary_functions.py
def foo():
return 1
Now, in my main
script, I would like to import a file where I can define foo()
, and then do something like:
from secondary_functions import * # Here I define foo()
from main_functions import *
bar()
If I do so, the function inside main_functions
is not able to find the definitions that are present in secondary_functions
, and I will get an error like:
NameError: name 'foo' is not defined
It is very important for me to solve this problem.
My aim is to be able to have different files called secondary_functions1.py
, secondary_functions2.py
, eccetera, definitions of foo()
.
And, to solve the problem, I don't want to change everytime the file that depend on these definitions, for instance inserting everytime something like import secondary_functionsX.py
, which would solve the problem. I would like to change only the main script.