Hướng dẫn python import from another file - nhập python từ một tệp khác

Có nhiều cách để nhập một tệp Python, tất cả đều có ưu và nhược điểm của họ.

Đừng vội vàng chọn chiến lược nhập khẩu đầu tiên phù hợp với bạn nếu không bạn sẽ phải viết lại cơ sở mã sau khi bạn thấy nó không đáp ứng nhu cầu của bạn.

Tôi sẽ bắt đầu giải thích ví dụ dễ nhất số 1, sau đó tôi sẽ tiến tới ví dụ chuyên nghiệp và mạnh mẽ nhất #7

Ví dụ 1, nhập mô -đun Python với trình thông dịch Python:

  1. Đặt cái này vào /home/el/foo/fox.py:

    def what_does_the_fox_say():
      print("vixens cry")
    
  2. Tham gia phiên dịch Python:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    

    Bạn đã nhập Fox thông qua phiên dịch viên Python, gọi chức năng Python

    def moobar():
      print("hi")
    
    0 từ bên trong Fox.py.

Ví dụ 2, sử dụng

def moobar():
  print("hi")
1 hoặc (
def moobar():
  print("hi")
2 trong Python 3) trong tập lệnh để thực thi tệp Python khác tại chỗ:

  1. Đặt cái này vào /home/el/foo2/mylib.py:

    def moobar():
      print("hi")
    
  2. Đặt cái này vào /home/el/foo2/main.py:

    execfile("/home/el/foo2/mylib.py")
    moobar()
    
  3. Chạy tệp:

    el@apollo:/home/el/foo$ python main.py
    hi
    

    Hàm Moobar được nhập từ mylib.py và được cung cấp trong main.py

Ví dụ 3, sử dụng từ ... Nhập ... Chức năng:

  1. Đặt cái này vào /home/el/foo3/chekov.py:

    def question():
      print "where are the nuclear wessels?"
    
  2. Đặt cái này vào /home/el/foo3/main.py:

    from chekov import question
    question()
    
  3. Chạy nó như thế này:

    el@apollo:/home/el/foo3$ python main.py 
    where are the nuclear wessels?
    

    Nếu bạn xác định các chức năng khác trong Chekov.py, chúng sẽ không có sẵn trừ khi bạn

    def moobar():
      print("hi")
    
    3

Ví dụ 4, nhập RIAA.py nếu nó ở một vị trí tệp khác từ nơi nó được nhập

  1. Đặt cái này vào /home/el/foo4/stuff/riaa.py:

    def watchout():
      print "computers are transforming into a noose and a yoke for humans"
    
  2. Đặt cái này vào /home/el/foo4/main.py:

    import sys 
    import os
    sys.path.append(os.path.abspath("/home/el/foo4/stuff"))
    from riaa import *
    watchout()
    
  3. Chạy nó:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    0

    Điều đó nhập mọi thứ trong tệp nước ngoài từ một thư mục khác.

Ví dụ 5, sử dụng

def moobar():
  print("hi")
4

el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>> 
1

Ví dụ 6, hãy nhập tệp của bạn thông qua cõng The Python Startuphook:

Cập nhật: Ví dụ này được sử dụng để hoạt động cho cả Python2 và 3, nhưng bây giờ chỉ hoạt động cho Python2. Python3 đã loại bỏ bộ tính năng startuphook của người dùng này vì nó đã bị các nhà văn thư viện Python kỹ năng thấp lạm dụng, sử dụng nó để đưa mã của họ vào không gian tên toàn cầu, trước tất cả các chương trình do người dùng xác định. Nếu bạn muốn điều này hoạt động cho Python3, bạn sẽ phải sáng tạo hơn. Nếu tôi nói với bạn cách thực hiện, các nhà phát triển Python cũng sẽ vô hiệu hóa tính năng đó được đặt, vì vậy bạn là một mình. This example used to work for both python2 and 3, but now only works for python2. python3 got rid of this user startuphook feature set because it was abused by low-skill python library writers, using it to impolitely inject their code into the global namespace, before all user-defined programs. If you want this to work for python3, you'll have to get more creative. If I tell you how to do it, python developers will disable that feature set as well, so you're on your own.

Xem: https://docs.python.org/2/l Library/user.html

Đặt mã này vào thư mục nhà của bạn trong

def moobar():
  print("hi")
5

el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>> 
2

Đặt mã này vào Main.py của bạn (có thể ở bất cứ đâu):

el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>> 
3

Chạy nó, bạn sẽ nhận được điều này:

el@apollo:/home/el/foo$ python
Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
>>> import fox
>>> fox.what_does_the_fox_say()
vixens cry
>>> 
4

Nếu bạn gặp lỗi ở đây:

def moobar():
  print("hi")
6 thì điều đó có nghĩa là bạn đang sử dụng python3, startuphooks bị vô hiệu hóa ở đó theo mặc định.

Tín dụng cho jist này đi tới: https://github.com/docwhat/homedir-examples/blob/master/python-commandline/.pythonrc.py

Ví dụ 7, mạnh nhất: Nhập các tệp trong Python với lệnh nhập trần:

  1. Tạo một thư mục mới
    def moobar():
      print("hi")
    
    7
  2. Tạo một thư mục mới
    def moobar():
      print("hi")
    
    8
  3. Tạo một tệp trống có tên

    def moobar():
      print("hi")
    
    9 trong herp:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    5
  4. Tạo một thư mục mới/home/el/foo5/herp/derp

  5. Trong DERP, hãy tạo một tệp

    def moobar():
      print("hi")
    
    9 khác:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    6
  6. Under/home/el/foo5/herp/derp tạo một tệp mới có tên

    execfile("/home/el/foo2/mylib.py")
    moobar()
    
    1 Đặt cái này vào đó:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    7
  7. Khoảnh khắc của sự thật, tạo tập tin mới

    execfile("/home/el/foo2/mylib.py")
    moobar()
    
    2, đặt nó vào đó;

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    8
  8. Chạy nó:

    el@apollo:/home/el/foo$ python
    Python 2.7.3 (default, Sep 26 2013, 20:03:06) 
    >>> import fox
    >>> fox.what_does_the_fox_say()
    vixens cry
    >>> 
    
    9

    Điều đó nhập mọi thứ trong tệp nước ngoài từ một thư mục khác.

Ví dụ 5, sử dụng

def moobar():
  print("hi")
4

Có thể nhập từ một tệp python khác?

Nếu bạn có các tệp Python của riêng bạn mà bạn muốn nhập, bạn có thể sử dụng câu lệnh nhập như sau: >>> Nhập My_File # Giả sử bạn có tệp, my_file.py trong thư mục hiện tại. # Đối với các tệp trong các thư mục khác, cung cấp đường dẫn đến tệp đó, tuyệt đối hoặc tương đối.use the import statement as follows: >>> import my_file # assuming you have the file, my_file.py in the current directory. # For files in other directories, provide path to that file, absolute or relative.

Làm thế nào để bạn nhập mọi thứ từ một tệp khác trong Python?

cách tốt nhất để nhập khẩu.Các tệp PY là bằng cách của __init__.py ...
Chỉ cần nhập tệp mà không có.Tiện ích mở rộng PY ..
Một thư mục có thể được đánh dấu là một gói, bằng cách thêm một tệp __init__.py trống ..
Bạn có thể sử dụng hàm __Import__, lấy tên mô -đun (không có phần mở rộng) làm tiện ích mở rộng chuỗi ..

Làm thế nào để bạn truy cập một tệp từ một tệp khác trong Python?

Cách tiếp cận: 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 nó. Có nghĩa là các chức năng được xác định trong tệp đã nhập.Create a Python file containing the required functions. Create another Python file and import the previous Python file into it. Call the functions defined in the imported file.

Làm thế nào để bạn nhập một tệp vào Python?

Các bước để nhập tệp CSV vào Python bằng Pandas..
Bước 1: Chụp đường dẫn tệp.Đầu tiên, chụp toàn bộ đường dẫn nơi tệp CSV của bạn được lưu trữ.....
Bước 2: Áp dụng mã Python.....
Bước 3: Chạy mã.....
Bước tùy chọn: Chọn tập hợp con của các cột ..