Chức năng nhập sổ ghi chép jupyter từ tệp python

Tôi đang cố gắng nhập một. py vào sổ ghi chép jupyter của tôi. sử dụng đoạn mã sau, nhưng nó đang báo lỗi. Tôi cũng đã bao gồm init. tập tin py trong thư mục

import sys 
import os
sys.path.append[os.path.abspath["/Users/hp/Documents/AFR"]]
import test_standard.py

đầu ra
Không có mô-đun nào có tên ‘test_standard. py’;

Hầu như tất cả những người làm việc trong lĩnh vực khoa học dữ liệu đều tương tác với công cụ Jupyter Notebook hàng ngày và trong hầu hết các trường hợp, họ sẽ cần nhập mã từ tệp mã Python [. py] để sử dụng nó trong sổ ghi chép này. Mã có thể ở dạng hàm, lớp hoặc bất kỳ thứ gì khác

Tuy nhiên, quá trình này đôi khi có thể tẻ nhạt vì các tệp này phải nằm trong cùng một thư mục để sổ ghi chép tìm thấy chúng và không thể thêm đường dẫn đến thư mục đó vào biến PATH bằng lệnh bash vì nó sẽ không được cam kết. Ví dụ

Nếu chúng ta thử điều này,

%%bashSRC_DIR=$[cd ..; pwd]

export PATH="${PATH}:$SRC_DIR"

và sau đó in PATH

!echo $PATH

Không có gì sẽ được thêm vào

Dung dịch

Giải pháp cho vấn đề này là chạy đoạn mã sau

import os
import sys
directory_path = os.path.abspath[os.path.join['..']]
if directory_path not in sys.path:
sys.path.append[directory_path]

Mã này sẽ thêm đường dẫn được chỉ định trong câu lệnh này os. đường dẫn. lối bỏ qua [os. đường dẫn. tham gia['. ’]] vào biến PATH của hệ thống, cho phép bạn nhập trực tiếp các tệp Python từ biến đó

Chúng tôi đã xác định thư mục mẹ bằng đường dẫn tương đối trong ví dụ trước, nhưng bạn có thể chỉ định bất kỳ thư mục nào bằng đường dẫn tương đối hoặc tuyệt đối. Trong trường hợp đường dẫn tuyệt đối, nên sử dụng cú pháp sau

os.path.abspath[YOUR_PATH]

Tôi hy vọng rằng bằng cách chia sẻ MẸO này, tôi có thể làm cho ngày của bạn dễ dàng hơn một chút. Nếu bạn muốn xem thêm về điều này, hãy theo dõi tôi trên Twitter, nơi tôi chia sẻ MẸO & MẸO về Python, Khoa học dữ liệu và AI

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 chức năng có thể được gọi và chạy trong một tệp khác với tệp nơi chức năng được xác định

Nếu một tệp mới có tên myfunctions. py được tạo và chứa hai định nghĩa hàm,

from function_file import function_name

function_name[arguments]
2 và
from function_file import function_name

function_name[arguments]
3, các hàm
from function_file import function_name

function_name[arguments]
2 và
from function_file import function_name

function_name[arguments]
3 có thể được sử dụng bởi một tập lệnh riêng miễn là tên tệp và hàm được nhập trong tập lệnh riêng trước. Điều cần thiết là tệp chứa các định nghĩa hàm kết thúc bằng. phần mở rộng py. không có một. py, không thể nhập tệp nơi các chức năng được xác định. Bên trong tập tin myfuctions. py, hai hàm được xác định bằng mã bên dưới

# 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 tin này, chức năng của tôi. py có thể được nhập vào một tập lệnh khác [một tập lệnh khác. py] hoặc Jupyter Notebook

Lưu ý file chứa định nghĩa hàm và file gọi hàm phải cùng 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, hãy bao gồm dòng nhập,

from function_file import function_name

function_name[arguments]
6. Lưu ý rằng mặc dù tên tệp phải chứa một. py,
from function_file import function_name

function_name[arguments]
7 không được sử dụng như một phần của tên tệp trong quá trình nhập

Dưới đây là cú pháp chung để nhập và gọi một hàm từ một tệp riêng biệt

from function_file import function_name

function_name[arguments]

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

from function_file import function_name

function_name[arguments]
2 và
from function_file import function_name

function_name[arguments]
3 bên dưới

Làm cách nào để nhập chức năng từ một tệp Python khác trong Jupyter Notebook?

py tệp] hoặc Jupyter Notebook. Lưu ý file chứa định nghĩa hàm và file gọi hàm phải cùng thư mục. Để sử dụng các hàm được viết trong một tệp bên trong một tệp khác hãy bao gồm dòng nhập, from filename import function_name .

Làm cách nào để nhập một hàm từ một tệp Python khác trong thư mục khác?

Chúng tôi có thể sử dụng sys. path để thêm đường dẫn của thư mục khác mới [thư mục từ nơi chúng tôi muốn nhập các mô-đun] vào đường dẫn hệ thống để Python cũng có thể xem .

Chủ Đề