Hướng dẫn import function from another file python notebook - nhập hàm từ một sổ ghi chép python tệp khác

63

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Tôi đã xác định một hàm Hello World trong một tệp có tên là 'Chức năng.ipynb'. Bây giờ, tôi muốn nhập các chức năng trong một tệp khác bằng cách sử dụng "Chức năng nhập". Tôi chắc chắn rằng họ nằm trong cùng một thư mục. Tuy nhiên, nó vẫn cho thấy rằng "Bộ nhập khẩu: Không có mô -đun có tên là chức năng". Nhân tiện, tôi đang sử dụng Notebook Jupyter. Cảm ơn rất nhiều!

Khi được hỏi ngày 22 tháng 5 năm 2017 lúc 14:58May 22, 2017 at 14:58

1

Bạn sẽ muốn sử dụng Gói IPYNB/nhà nhập mô mô -đun. Bạn sẽ cần cài đặt nó:

from ipynb.fs.full.my_functions import factorial
4.

Tạo một cuốn sổ có tên

from ipynb.fs.full.my_functions import factorial
5. Thêm một chức năng đơn giản cho nó.

def factorial[n]:
    if n == 0:
        return 1
    else:
        return n * factorial[n-1]

Sau đó, tạo một máy tính xách tay ipython thứ hai và nhập chức năng này với:

from ipynb.fs.full.my_functions import factorial

Sau đó, bạn có thể sử dụng nó như thể nó nằm trong cùng một máy tính xách tay ipython:

testing = factorial[5]

Xem tài liệu để biết thêm chi tiết.

Drhagen

7.2977 Huy hiệu vàng51 Huy hiệu bạc71 Huy hiệu đồng7 gold badges51 silver badges71 bronze badges

Đã trả lời ngày 16 tháng 4 năm 2018 lúc 15:16Apr 16, 2018 at 15:16

David Rinckdavid RinckDavid Rinck

6.1074 Huy hiệu vàng44 Huy hiệu bạc60 Huy hiệu Đồng4 gold badges44 silver badges60 bronze badges

8

Đối với trường hợp sử dụng của tôi, nhập IPNYB không hoạt động vì một số lý do. Tôi đã phải sử dụng Jupyter Notebook Cell Cell để nhập chức năng của mình .:

%run MyOtherNotebook.ipynb     #this is were my function was stored
function[df]                    #then simply run the function

Đã trả lời ngày 28 tháng 9 năm 2021 lúc 7:53Sep 28, 2021 at 7:53

Câu trả lời của @David Rinck đã giải quyết vấn đề, nhưng tôi muốn khuyên bạn nên thêm Boilerplate

from ipynb.fs.full.my_functions import factorial
6 để bảo vệ các tập lệnh mà bạn không muốn vô tình gọi. Nó hoạt động giống như trong một tệp Python thông thường.

Nếu một tệp .ipynb a.ipynb được nhập bởi một B.Ipynb khác

from ipynb.fs.full.a import factorial

from ipynb.fs.full.my_functions import factorial
7 trong a.ipynb sẽ là
from ipynb.fs.full.my_functions import factorial
8 chứ không phải
from ipynb.fs.full.my_functions import factorial
9.

Đã trả lời ngày 15 tháng 10 năm 2021 lúc 6:15Oct 15, 2021 at 6:15

Lerner Zhanglerner ZhangLerner Zhang

5.5202 Huy hiệu vàng42 Huy hiệu bạc58 Huy hiệu Đồng2 gold badges42 silver badges58 bronze badges

Bạn có thể lưu các hàm.ipynb dưới dạng hàm.py và có thể nhập tệp dưới dạng

testing = factorial[5]
0. Bây giờ bạn có thể sử dụng bất kỳ chức năng nào được xác định trong tệp chức năng là
testing = factorial[5]
1 cho ví dụ, nếu thêm là một hàm,

functions.add[5,3]

Sau khi nhập sẽ hoạt động.

Đã trả lời ngày 1 tháng 8 năm 2020 lúc 18:43Aug 1, 2020 at 18:43

0

Gọi các chức năng từ các tệp khác

Các chức năng do người dùng xác định có thể được gọi từ các tệp khác. Một hàm có thể được gọi và chạy trong một tệp khác với tệp nơi xác định hàm.

Nếu một tệp mới được gọi là myfunes.py được tạo và chứa hai định nghĩa hàm,

testing = factorial[5]
2 và
testing = factorial[5]
3, các hàm
testing = factorial[5]
2 và
testing = factorial[5]
3 có thể được sử dụng bởi một tập lệnh riêng biệt miễn là tên tệp và tên hàm được nhập trong tập lệnh riêng biệt trước tiên. Điều cần thiết là tệp chứa các định nghĩa hàm kết thúc trong phần mở rộng .py. Không có phần mở rộng .py, tệp nơi các chức năng được xác định không thể được nhập. Bên trong tệp myfuctions.py, hai chức năng được xác định bằng mã bên dưới.myfunctions.py is created and contains two function definitions,
testing = factorial[5]
2 and
testing = factorial[5]
3, the functions
testing = factorial[5]
2 and
testing = factorial[5]
3 can be used by a separate script as long as the file and function names are imported in the separate script first. It is essential that the file which contains the function definitions ends in the .py extension. Without a .py extension, the file where the functions are defined can not be imported. Inside the file myfuctions.py, two functions are defined using the code below.

# myfunctions.py

def plustwo[n]:
    out = n + 2
    return out


def falldist[t,g=9.81]:
    d = 0.5 * g * t**2
    return d

Tệp này, myfunes.py có thể được nhập vào một tập lệnh khác [một tệp .py khác] hoặc máy tính xách tay Jupyter.myfunctions.py can be imported into another script [another .py file], or Jupyter Notebook.

Hãy nhớ rằng tệp chứa các định nghĩa chức năng và tệp gọi các hàm phải nằm trong cùng một thư mục.

Để sử dụng các chức năng được viết trong một tệp bên trong một tệp khác bao gồm dòng nhập,

testing = factorial[5]
6. Lưu ý rằng mặc dù tên tệp phải chứa phần mở rộng .py,
testing = factorial[5]
7 không được sử dụng như một phần của tên tệp trong quá trình nhập..py extension,
testing = factorial[5]
7 is not used as part of the filename during import.

Cú pháp chung để nhập và gọi hàm từ một tệp riêng biệt ở bên dưới:

from function_file import function_name

function_name[arguments]

Một ví dụ sử dụng cú pháp này với tệp myfifts.py và hàm

testing = factorial[5]
2 ở bên dưới:myfunctions.py file and the function
testing = factorial[5]
2 is below:

In [1]:

from myfunctions import plustwo

plustwo[3]

Nhiều chức năng có thể được nhập từ cùng một tệp bằng cách tách các chức năng được nhập với dấu phẩy. Cú pháp chung để nhập và gọi nhiều chức năng từ cùng một tệp là bên dưới:
from function_file import function_name1, function_name2

function_name1[arguments]
function_name2[arguments]

Một ví dụ sử dụng cú pháp này với tệp myfifts.py và các chức năng

testing = factorial[5]
2 và
testing = factorial[5]
3 dưới đây:myfunctions.py file and the functions
testing = factorial[5]
2 and
testing = factorial[5]
3 is below:

In [2]:

from ipynb.fs.full.my_functions import factorial
0

Một cách khác để nhập và sử dụng các chức năng từ myFunctions.py vào một tập lệnh khác hoặc máy tính xách tay Jupyter là nhập toàn bộ tệp myfifts.py với
%run MyOtherNotebook.ipynb     #this is were my function was stored
function[df]                    #then simply run the function
1, sau đó gọi các chức năng với cú pháp bên dưới.
from ipynb.fs.full.my_functions import factorial
1myfunctions.py into another script or Jupyter notebook is to import the entire myfunctions.py file with
%run MyOtherNotebook.ipynb     #this is were my function was stored
function[df]                    #then simply run the function
1, then call the functions with the syntax below.
from ipynb.fs.full.my_functions import factorial
1

Một ví dụ sử dụng cú pháp này với tệp myfifts.py bên dưới.myfunctions.py file is below.

In [3]:

from ipynb.fs.full.my_functions import factorial
2

In [4]:

from ipynb.fs.full.my_functions import factorial
3

Làm cách nào để nhập hàm từ tệp Python khác vào sổ ghi chép Jupyter?

Tệp PY] hoặc Notebook Jupyter. Hãy nhớ rằng tệp chứa các định nghĩa chức năng và tệp gọi các hàm phải nằm trong cùng một thư mục. Để sử dụng các chức năng được viết trong một tệp bên trong một tệp khác bao gồm dòng nhập, từ FileName Nhập chức năng_name.include the import line, from filename import function_name .

Làm cách nào để nhập hàm từ tệp này sang tệp khác trong Python?

Đưa ra một tệp Python, chúng ta cần gọi một hàm trong đó được xác định trong bất kỳ tệp Python nào khác ...
Tạo một tệp Python chứa các chức năng cần thiết ..
Tạo một tệp Python khác và nhập tệp Python trước đó vào đó ..
Gọi các chức năng được xác định trong tệp đã nhập ..

Tôi có thể nhập các chức năng từ Jupyter Notebook không?

Một cách khác để nhập và sử dụng các chức năng từ myFunctions.py vào một tập lệnh khác hoặc máy tính xách tay Jupyter là nhập toàn bộ tệp myfunctions.py với nhập myFifts, sau đó gọi các chức năng với cú pháp bên dưới.Một ví dụ sử dụng cú pháp này với tệp myfifts.py bên dưới.import the entire myfunctions.py file with import myfunctions , then call the functions with the syntax below. An example using this syntax with the myfunctions.py file is below.

Làm thế nào để bạn gọi một chức năng từ một cuốn sổ tay khác trong Databricks?

Có 2 phương pháp để chạy một cuốn sổ tay Databricks bên trong một máy tính xách tay Databricks khác ...
Sử dụng lệnh %Run.Lệnh %Run gọi sổ ghi chép trong cùng một bối cảnh máy tính xách tay có nghĩa là bất kỳ biến hoặc chức năng nào được khai báo trong sổ ghi chép cha mẹ có thể sử dụng trong sổ ghi chép con.....
Sử dụng DBUTILS.sổ tay..

Chủ Đề