0

I want to access var1 and var2 in another python file where I will be using the variables in another function. How do I do this?

file1.py

def main(x):
    var1 = "link"
    var2 = "email"

file2.py

from file1 import var1, var2
class test:
    def get_email(self):
        return var2
    def get_link(self):
        return var1

2 Answers 2

1

If you want to use those variables in a separate module, you need to have the variables in the top level.

var1 = ....
var2 = ....

def main(x):
    ....

This is because variables inside a function are local to that function and only accessible in it.

If you want to only declare the variables in the top level but assign within the function-

var1 = None
var2 = None

def main(x):
    global var1
    global var2
    # assign here

Remember however, variables assigned within a function will only reflect changes if that function is called. Importing a module will not automatically call the function, unless the function is called at the top level in the imported module-

var1 = None
var2 = None

def main(x):
    global var1
    global var2
    # assign here

# x should be defined prior to this
main(x)
Sign up to request clarification or add additional context in comments.

Comments

0

To import variables and methods from another file, you need to initialise init.py and main.py in your folder as empty files. After that you can either declare your variables you want to import on the top(outermost namespace) or return them from a function

A.py

myVar = 1
myString = “help”

def get_variables():
    myVar = 1
    myString = “help”
    return myVar, myString

B.py (first way)

from A import myVar, myString

B.py (second way)

from A import get_variables
myVar, myString = get_variables()

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.