Chức năng gọi trong thư mục khác python

Python là một ngôn ngữ mạnh mẽ cung cấp nhiều tính năng hữu ích. Thông thường, chúng ta cần nhập các mô-đun và gói trong mọi tập lệnh python để có thể sử dụng các hàm và biến thành viên của nó. Đôi khi, bạn có thể cần nhập từ một thư mục hoặc thư mục khác trong Python. Trong bài viết này, chúng ta sẽ xem xét cách nhập từ một thư mục khác trong Python


Cách nhập từ thư mục khác trong Python

Thông thường, python tìm kiếm các gói trong thư mục hiện tại của tập lệnh đang được thực thi và các thư mục được liệt kê trong biến PATH của môi trường python. Hãy để chúng tôi nói rằng bạn có chính. tập lệnh py trong thư mục 1 và mô-đun. py trong thư mục 2 và bạn muốn nhập mô-đun. py trong chính. py

 - Folder_1
    - main.py
 - Folder_2
     - module1.py

Hãy để chúng tôi nói mô-đun. py có chức năng hello_world[]. Có hai cách để thực hiện việc này – sử dụng mô-đun sys và sử dụng biến môi trường PYTHONPATH


1. Sử dụng mô-đun sys

Bạn có thể sử dụng hệ thống. chức năng đường dẫn để thêm vị trí thư mục của mô-đun vào đường dẫn hệ thống, để python sẽ tìm kiếm mô-đun đó, trong trường hợp không thể tìm thấy nó trong thư mục hiện tại của tập lệnh. kể từ khi sys. đường dẫn là một danh sách, bạn có thể sử dụng chức năng nối thêm hoặc chèn để thêm vị trí thư mục mô-đun. Đây là một ví dụ để nhập mô-đun. py trong chính. py

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...


2. Sử dụng Pythonpath

hệ thống. chức năng đường dẫn cần được gọi trong tất cả các tập lệnh python của bạn, nếu bạn muốn nhập mô-đun từ thư mục khác. Nếu bạn cần nhập mô-đun trong nhiều tập lệnh của mình, thì bạn chỉ cần thêm vị trí thư mục này vào thư mục PYTHONPATH. Sau đó, bạn sẽ không cần sử dụng sys. đường dẫn trong bất kỳ tập lệnh nào của bạn. Bạn có thể nhập trực tiếp mô-đun mong muốn và python sẽ có thể tìm thấy mô-đun đó cho bạn

Đây là lệnh để thêm thư mục vào biến PYTHONPATH

Linux

$ export PYTHONPATH='/home/ubuntu/Desktop/Folder_2'

Bạn có thể kiểm tra xem nó đã được thêm chính xác chưa bằng lệnh echo

$ echo PYTHONPATH

các cửa sổ

$ set PYTHONPATH='C:\ubuntu\Desktop\Folder_2'

Tuy nhiên, trong trường hợp này, bạn cần có quyền đặt các biến môi trường trên hệ thống của mình

Đó là nó. Trong bài viết này, chúng ta đã thấy cách nhập mô-đun từ một thư mục khác trong Python. Nếu bạn chỉ muốn nhập mô-đun một lần, bạn có thể sử dụng sys. đường dẫn. Nếu bạn muốn nhập nó vào nhiều tập lệnh, hãy thêm trực tiếp vị trí thư mục vào biến envionment PYTHONPATH

Nếu bạn chưa quen với Python và đã vấp phải câu hỏi này, thì tôi mời bạn đọc tiếp khi tôi thảo luận về cách gọi một hàm từ một tệp khác. Rất có thể bạn đã sử dụng một số hàm có sẵn của Python như

$ echo PYTHONPATH
4 và
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
0. Nhưng nếu bạn đã xác định chức năng của riêng mình, lưu nó vào một tệp và muốn gọi nó trong một tệp khác thì sao?

nhập nó

Nếu bạn đã từng nhập một cái gì đó như ngẫu nhiên, NumPy hoặc toán học thì nó thực sự đơn giản như vậy. Nếu bạn chưa có, thì đây là một cái nhìn nhanh về cách nó được thực hiện

Ví dụ: hãy sử dụng mô-đun toán học để tìm căn bậc hai của một số

Đầu tiên, chúng tôi nhập nó

>>> import math
>>>    

Để xem các chức năng và thuộc tính có sẵn cho một mô-đun, hãy sử dụng chức năng tích hợp sẵn

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
1

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']

Hàm tính căn bậc hai được gọi là '

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
2'. Và chúng tôi sẽ sử dụng ký hiệu dấu chấm để gọi nó

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
0

Ngoài ra, bạn có thể sử dụng từ khóa “

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
3” theo sau là tên mô-đun và “
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
4” theo sau là thuộc tính hoặc chức năng. Bằng cách này, chúng ta không còn phải sử dụng ký hiệu dấu chấm khi gọi hàm căn bậc hai

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
3

Và như mong đợi, việc cố gắng truy cập các chức năng hoặc thuộc tính khác vẫn yêu cầu ký hiệu dấu chấm

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
4

Hàm do người dùng định nghĩa

Khi bạn tiến bộ trong mã hóa Python của mình, cuối cùng bạn sẽ tạo các chức năng của riêng mình và sẽ triển khai chúng trong các chương trình khác. Để làm ví dụ, chúng tôi sẽ minh họa điều này bằng một máy tính tiền boa đơn giản. Mời các bạn cùng theo dõi

Mở trình chỉnh sửa python yêu thích của bạn. Tôi hiện đang sử dụng Linux nên tôi sẽ chỉ sử dụng vi cho ví dụ này. Tôi sẽ gọi hồ sơ của mình là “

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
5”

Đây là định nghĩa hàm

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
6

Lưu các tập tin

Bây giờ để gọi một hàm từ một tệp khác trong Python, chúng tôi chỉ cần sử dụng "nhập" theo sau là tên tệp của tệp

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
6 của bạn

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
8

Nếu bạn có nhiều hàm trong tệp của mình và muốn xem chúng, đừng quên sử dụng hàm

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
7. Trong trường hợp của chúng ta, nó chỉ hiển thị hàm
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
8

$ export PYTHONPATH='/home/ubuntu/Desktop/Folder_2'
1

Ngoài ra, đừng quên chúng ta có thể sử dụng phương pháp thay thế nếu bạn muốn bỏ qua ký hiệu dấu chấm

$ export PYTHONPATH='/home/ubuntu/Desktop/Folder_2'
2

Những điều cần chú ý

Lưu ý trong ví dụ của tôi, khi tôi chạy trình thông dịch Python, nó nằm trong cùng thư mục làm việc với tệp

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
5. Nếu bạn không quen thuộc với Linux, ký hiệu đô la là dấu nhắc lệnh

  • pwd = in thư mục làm việc
    • Thư mục hiện tại là “/home/pete/Videos/Python”
  • ls -l = liệt kê nội dung thư mục
    • Tập tin “myfunctions. py” nằm ở đây
  • python3 = gọi trình thông dịch python
  • Khi vào dòng “import myfunctions” thì không báo lỗi

Ảnh chụp màn hình bên dưới cho thấy tôi thay đổi thư mục làm việc thành home [~] và chạy

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
00 để hiển thị đường dẫn thư mục hiện tại. Sau đó, tôi chạy trình thông dịch python và cố gắng nhập tệp
# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
01. Bây giờ nó hiển thị “
# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
02” vì tệp không nằm trong thư mục hiện tại

Nếu bạn đang sử dụng IDE, thì hãy đảm bảo rằng tệp của bạn nằm trong dự án của bạn. Ảnh chụp màn hình bên dưới hiển thị Spyder IDE với Dự án có tên là “Ví dụ chức năng”. Ảnh chụp màn hình tệp “

>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
5” với định nghĩa hàm của
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
8

Ảnh chụp màn hình của tệp “

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
05”. IDE cụ thể này thực sự tuyệt vời vì tệp “
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
5” nằm trong Dự án của chúng tôi, nên tính năng tự động hoàn thành sẽ phát hiện ra nó khi tôi nhập tệp

Đây là đầu ra của bàn điều khiển khi chạy tệp

# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
05, chuyển biến “
# importing sys
import sys
  
# adding Folder_2 to the system path
sys.path.insert[0, '/home/ubuntu/Desktop/Folder_2']

#alternatively you can use sys.path.append['/home/ubuntu/Desktop/Folder_2']

  
# importing the hello_world function 

from module1 import hello_world

...
08” vào hàm
>>> dir[math]
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'comb', 'copysign', 'cos', 'cosh', 'degrees', 'dist', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'isqrt', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'perm', 'pi', 'pow', 'prod', 'radians', 'remainder', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
8

Và đó là cách gọi một hàm từ một tệp khác trong Python. Tôi hy vọng bạn thấy bài viết này hữu ích và mong được viết nhiều hơn. hẹn sớm gặp lại

Các hàm Python có thể là tệp bên ngoài không?

Có thể gọi các hàm do người dùng định nghĩa 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.

Làm cách nào bạn có thể nhập tất cả các chức năng từ tệp Python trong thư mục trước đó?

Để nhập một mô-đun, thư mục chứa mô-đun đó phải có trên PYTHONPATH . Nó là một biến môi trường chứa danh sách các gói sẽ được Python tải. Danh sách các gói có trong PYTHONPATH cũng có trong sys. đường dẫn, vì vậy sẽ thêm đường dẫn thư mục mẹ vào sys.

Chủ Đề