Call a function from another file?

前端 未结 17 2393
梦谈多话
梦谈多话 2020-11-22 08:06

Set_up: I have a .py file for each function I need to use in a program.

In this program, I need to call the function from the external files.

I\'ve tried:

相关标签:
17条回答
  • 2020-11-22 08:56

    There isn't any need to add file.py while importing. Just write from file import function, and then call the function using function(a, b). The reason why this may not work, is because file is one of Python's core modules, so I suggest you change the name of your file.

    Note that if you're trying to import functions from a.py to a file called b.py, you will need to make sure that a.py and b.py are in the same directory.

    0 讨论(0)
  • 2020-11-22 08:57

    in my main script detectiveROB.py file i need call passGen function which generate password hash and that functions is under modules\passwordGen.py

    The quickest and easiest solution for me is

    Below is my directory structure

    So in detectiveROB.py i have import my function with below syntax

    from modules.passwordGen import passGen

    0 讨论(0)
  • 2020-11-22 08:58

    If your file is in the different package structure and you want to call it from a different package, then you can call it in that fashion:

    Let's say you have following package structure in your python project:

    in - com.my.func.DifferentFunction python file you have some function, like:

    def add(arg1, arg2):
        return arg1 + arg2
    
    def sub(arg1, arg2) :
        return arg1 - arg2
    
    def mul(arg1, arg2) :
        return arg1 * arg2
    

    And you want to call different functions from Example3.py, then following way you can do it:

    Define import statement in Example3.py - file for import all function

    from com.my.func.DifferentFunction import *
    

    or define each function name which you want to import

    from com.my.func.DifferentFunction import add, sub, mul
    

    Then in Example3.py you can call function for execute:

    num1 = 20
    num2 = 10
    
    print("\n add : ", add(num1,num2))
    print("\n sub : ", sub(num1,num2))
    print("\n mul : ", mul(num1,num2))
    

    Output:

     add :  30
    
     sub :  10
    
     mul :  200
    
    0 讨论(0)
  • 2020-11-22 08:58

    Rename the module to something other than 'file'.

    Then also be sure when you are calling the function that:

    1)if you are importing the entire module, you reiterate the module name when calling it:

    import module
    module.function_name()
    

    or

    import pizza
    pizza.pizza_function()
    

    2)or if you are importing specific functions, functions with an alias, or all functions using *, you don't reiterate the module name:

    from pizza import pizza_function
    pizza_function()
    

    or

    from pizza import pizza_function as pf
    pf()
    

    or

    from pizza import *
    pizza_function()
    
    0 讨论(0)
  • 2020-11-22 08:59

    First save the file in .py format (for example, my_example.py). And if that file have functions,

    def xyz():
    
            --------
    
            --------
    
    def abc():
    
            --------
    
            --------
    

    In the calling function you just have to type the below lines.

    file_name: my_example2.py

    ============================

    import my_example.py
    
    
    a = my_example.xyz()
    
    b = my_example.abc()
    

    ============================

    0 讨论(0)
  • 2020-11-22 08:59

    in my case i named my file helper.scrap.py and couldn't make it work until i changed to helper.py

    0 讨论(0)
提交回复
热议问题