2013-01-21 47 views
0

如何編寫一個python幫助器API來包裝現有的python庫。瞭解什麼是現有庫的API包裝

我從來沒有寫過這樣的東西,或者可能會寫,但沒有意識到它。有人能告訴我究竟是什麼以及如何去做?

+0

你能提供更多的信息嗎?你只使用Python嗎?還是你想讓其他語言/運行庫能夠調用Python代碼? –

+0

@James Henstridge:我只用Python工作,想打包現有的Python庫之一。 – user893338

+0

客戶端希望您打包的庫是否可能不是用Python編寫的(例如,它可能是C或C++)?這樣做會更有意義,因爲討論包裝用於Python的庫是很常見的。 –

回答

1

庫上的包裝器將該庫(和其他庫)中的功能組合起來,使得該庫對於您所做的任何操作都更加有用。

例如,這裏的一套程序,就可以彌補一個庫:

  • 加(X,Y)#返回X + Y
  • 減法(X,Y)#返回說明X - Y

這裏是一個 「包裝」 這些程序的過程:

def multiply(x, y): 
    product = 0 
    for i in xrange(x): 
     product = add(product, y) 
    return product 

......同樣,也許除()再修改即

+0

是的,你的例子很有意義。 – user893338

0

的過程大多是這樣的:

1)你寫一個新的圖書館(包裝)

2)這個庫依賴於現有的庫(你要包一個)

3)封裝將調用底層庫,提供與ORIGINAL庫不同的API

通常,您希望這樣做,因爲ORIGINAL庫首先沒有開發友好的API。

你怎麼不說你爲什麼要接受這樣的任務。誰給了你這個任務也應該能夠給你工作的理由。給你任務的人可以準確地告訴你想要什麼,以及它是如何做到的。因爲你的問題沒有細節,所以不可能給出更好的答案。

+0

OP確實說過「一個可以封裝任何*現有Python庫的API」(重點是我的)。你的答案看起來像是在討論爲一個給定的Python庫編寫一個包裝器。 –

+0

@Mikko Ohtamaa:自客戶保密以來,我無法分享確切的要求。但是,實際上我只是想了解句子「包裝現有圖書館」的含義以及如何去做。對不起,不清楚。 – user893338

+0

@Mikko Ohtamaa:你可以請任何現有的Python庫,並提供一個簡單的API包裝所選庫。它會幫助我更好地理解它。否則,任何開源的鏈接也會做。 – user893338