1. 程式人生 > >python---引用其他py檔案中的函式

python---引用其他py檔案中的函式

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow

也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!

                       

有兩種實現方法,第一種有2個小的方法,第2個小方法比較正式

新增__init.py__

說明
在想引用的檔案所在目錄下和想執行的py目錄下,新建一個檔案: __init.py__,即可通過 相對路徑的方式引用
方法1


目錄如下:

py_test/├── a│   ├── a.py│   └── __init__.py├── b│   ├── b.py│   └── __init__.py└── __init__.py
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

a.py內容: 

# coding:utf8def a():    print("I am a")
   
  • 1
  • 2
  • 3

b.py內容: 

# coding:utf8from ..a import aa.a()
   
  • 1
  • 2
  • 3

其他檔案為空
和py_test同目錄,執行命令: 

python -m py_test.b.b
   
  • 1

即可呼叫a.py中的函式 

方法2
方法1的缺點是隻能在那個路徑下執行命令,如果不想使用方法1,就只能把b.py中的程式碼封裝成一個函式,在py_test資料夾下新建c.py,通過c.py來呼叫b.py中封裝的函式,這是比較正式的做法
目錄如下: 

py_test├── a│   ├── a.py
│   └── __init__.py├── b│   ├── b.py│   └── __init__.py└── c.py
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

a.py內容: 

# coding:utf8def a():    print("I am a")
   
  • 1
  • 2
  • 3
  • 4

b.py內容: 

# coding:utf8from a.a import adef b():    print("I am b!")    a()
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

c.py內容: 

# coding:utf8from b.b import bb()
   
  • 1
  • 2
  • 3
  • 4
  • 5

其他檔案為空,舉例在py_test下執行命令: 

python c.py
   
  • 1

即可正常執行 

sys新增路徑

說明
將想要用的檔案所在目錄path新增到系統路徑,即可引用
主要形式如下: 

import syssys.path.append(path)
   
  • 1
  • 2

使用以上形式需要注意使用絕對路徑,而且需要注意作業系統導致的路徑差異

           

給我老師的人工智慧教程打call!http://blog.csdn.net/jiangjunshow

這裡寫圖片描述