簡體   English   中英

如何從python 3.6中的文件導入方法

[英]How to import methods from a file in python 3.6

我有一個文件在src / math2 / add.py下

add.py

def add(a, b):
    return a + b

現在,我有第二個文件要在其中使用,即operations.py。

operations.py

import add

def operations(what, param1, param2):
    if(what == 'add'):
        return add(param1, param2)

if __name__ == '__main__':
    operation('add', 9, 18)

但是當我嘗試運行python3 operation.py時

我收到錯誤,沒有這樣的模塊添加。 我在math文件夾下添加了init .py文件,但仍然收到此錯誤。

所以,這是我的文件夾結構

src/math2/add.py
src/math2/__init__.py
src/operations.py

任何人都可以在這里幫助我。 我記得這曾經在python2.7上很好用

我想指出的是,在python環境中已經有一個名為math的庫。 將目錄的名稱更改為讓math2后,可以嘗試以下操作:

要添加模塊,您應該from math2 import add使用它,它應該可以工作。

您可以參考模塊上的python文檔以獲取更多信息。

編輯:您引用add模塊,就像它是operations.py的函數一樣。 您應該from math2.add import add或者應該以先前的形式調用add.add()

您在最后一行的operations.py中拼寫了錯誤的方法名稱。 應該是操作('add',9,18)

下面是修改后的operations.py,它工作正常。

from math2.add import add

def operations(what, param1, param2):
    if(what == 'add'):
        a= add(param1, param2)
        print(a)

if __name__ == '__main__':
    operations('add', 9, 18)

您應該將PYTHONPATH設置為src文件夾

export PYTHONPATH=$PYTHONPATH:/<src-path>

然后,使用此導入:

from math.add import add

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM