Python 有趣的模組 Bobo

2022-06-11 15:54:11 字數 3092 閱讀 7147

【mac】

我的mac環境,python3.5

1. 安裝bobo  :   >>> pip3 install bobo

2. 配置環境變數:

$: vi ~/.bash_profile 

退出vi 

$: source ~/.bash_profile

3. 建立使用bobo的方法在某個py檔案 ,檔案內容

import bobo

@bobo.query('/')

def hello(person):

return 'hello %s' % person

這樣就啟動了bobo開發伺服器

5. 進入瀏覽器,輸入:localhost:8080

6. 瀏覽器顯示「missing form variable person」

7. 另開乙個終端輸入curl -i http://localhost:8080/,列印如下

8 另外開乙個終端,輸入:curl -i http://localhost:8080/?person=jim 

終端列印:

瀏覽器輸入localhost:8080/?person=jim ,瀏覽器顯示:

hello jim

【windows7】

1.introduction

bobo是乙個輕量級的框架,用來建立wsgi web應用。它的目標是簡單易用,容易記憶。

它強調兩個方面的內容:

1)把url對映到物件; 

2)呼叫物件來生成http響應。

bobo 並不具備模板語言,資料庫整合層或是其他一些wsgi中介軟體或特定應用程式庫所提供的功能。bobo建立在其他框架之上,尤其是wsgi和webob。

2.installation

如我python目錄:

c:\python27\lib\site-packages\bobo-2.4.0

在該目錄開啟cmd,輸入python setup.py install命令:

安裝完成後,會發現生成乙個.egg的檔案;

3.使用示例 

我們建立乙個迷你的web應用程式「hello world」。我們會把它放在乙個名為「hello.py」的檔案中:

#coding:utf-8

import bobo

@bobo.query

def hello():

return "hello world!"

這個應用程式建立乙個單一的web資源,即「html」,它只輸出文字「hello world」。

接下來訪問這個伺服器;

首先開啟該檔案所在資料夾的cmd,比如我的hello.py這個檔案在

f:\eclipse-cpp-workspace\learnpython\爬蟲

那麼開啟此處的cmd,輸入命令

這將啟動乙個web伺服器在本地主機埠8080執行。

接下來訪問伺服器:

開啟瀏覽器,輸入

http://localhost:8080/hello.html
會看到

hello world
我們將通過提供乙個url路徑:

#coding:utf-8

import bobo

@bobo.query('/')

def hello():

return "hello world!"

我們用於訪問應用程式的url是由資源的函式的名稱和裝飾用的內容型別,預設為「text/html;charset= utf-8」。讓我們改變應用程式,這樣我們就可以使用url:

http://localhost:8080/
在這裡,我們通過了乙個查詢裝飾器的路徑。我們使用了乙個「/」字串,它可以像上面的工作一樣建立乙個url。(我們也省略了簡潔的輸入)。

顧名思義,查詢裝飾器的工作是使用返回資訊的資源,可能使用表單資料。讓我們修改應用程式,允許將問候者的名字作為表單資料給出:

#coding:utf-8

import bobo

@bobo.query('/')

def hello(name="world"):

return "hello %s!"%name

如果乙個函式接受命名引數,那麼資料將從表單資料中提供。如果訪問:

則輸出

hello mtbaby!

repr python 有趣的模組

repr 返回的是返回物件的規範字串表示形式。語法是repr obj obj 規範化字串要表示的物件 var foo print repr var 輸出 foo 在物件中 repr會呼叫物件的 repr class person name adam def repr self return repr...

乙個有趣的python排序模組 bisect

今天同事說到了乙個python的排序模組bisect,覺得挺有趣的,跟大家分享分享。先看看模組的結構 前面五個屬性大家感興趣可以打出來看看數值,這裡就不介紹了。先說明的是,使用這個模組的函式前先確保操作的列表是已排序的。先看看 insort 函式 其插入的結果是不會影響原有的排序。再看看 bisec...

乙個有趣的python排序模組 bisect

今天同事說到了乙個python的排序模組bisect,覺得挺有趣的,跟大家分享分享。先看看模組的結構 前面五個屬性大家感興趣可以打出來看看數值,這裡就不介紹了。先說明的是,使用這個模組的函式前先確保操作的列表是已排序的。先看看 insort 函式 其插入的結果是不會影響原有的排序。再看看 bisec...