『壹』 python中 什麼是top
Python是一種高級的程序設計語言。
如果你用過basic、VB那麼你可以將它認為是在各種平台下的basic,因為它像basic一樣簡單易學,但是它也不同於basic,最在的不同,當然是python的功能強大和它的優秀設計了,最重要的是它是開放源代碼產品,使用它開發的程序不必為許可證而煩惱了。要知道當年比爾曾經以500美元的天價發放BASIC的使用許可證呢。然後basic能夠做到的事情實在是太少了。包括今天的VB它能夠做到的事情也是很有限的。而Python,你根本不用懷疑它的功能,網路編程,web程序程序設計,游戲編程,圖像編程,資料庫編程,所有的編程領域你都可以找到它的身影。總而言之:Python是一種高級的程序設計語言,它也是一種面向對象的程序設計語言,它可以幫我們快速的解決我們的枯燥的編程工作。
Python, perl ,php:
perl一直是UNIX系統管理員的利器,當然這最得益於它的文本處理強大功能和CPAN這個網路提供了各行各業的相應的解決方案了,它一直是黑客最喜歡的語言。它簡練,功能強大,但是寫的程序非常的難懂。而且支持多線程並不理想,用perl並不是寫大型程序的最好選擇,有人會當機,但是我沒有試驗過。現在有了python,UNIX系統管理員和UNIX應用系統開發人員就多了一種選擇了,載入re模塊,python同樣可以處理復雜文本需求。php這門語言也是我的最愛,它和python一樣簡單,甚至要更簡單,因為它專注於web開發,這一點我想是值得肯定的。無論是perl,python,java或者是asp比起php(在開發web領域方面)它們都是大大的不如。有人說java好,我想這是不一定的。之所以說java好,是因為有很多的大軟體公司支持它,有相應的解決方案,但是在開發效率和穩定性上java不一定就比php強多少,有人批評說php對oop支持不好,其實oop不一定是解決問題的最好辦法。而且隨著php5的推出,java在oop方面的優勢幾乎是不存存了。而java賴以成名的跨平台更是可笑:php,perl,python的跨平台特性都比java強了不知道多少。
『貳』 如何通過python調用新浪微博的API
1.下載SDK
使用python調用API的話,首先要去下一個Python的SDK,sinaweibopy
連接地址在此: http://michaelliao.github.com/sinaweibopy/
可以使用pip很快的導入,github連接里的wiki也有入門的使用方法,很容易看懂。
2.理解新浪微博的授權機制
在調用API之前,首先要搞懂什麼叫OAuth 2,即新浪微博的授權機制,
連接在此: http://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6%E8%AF%B4%E6%98%8E
3.在新浪微博注冊應用
每個人都可以通過新浪微博開發者平台注冊自己的應用,我注冊的是站內應用。注冊後會為每個應用分配唯一的app key 和 app secret,這在上文提到的授權機制中需要用到,相當與每個應用的標示吧。
至此,我們可以嘗試寫代碼調用新浪微博的API啦。
4.簡單的調用API實例
參考了往上很多資料和文檔,寫了一個簡單的調用過程。
# _*_ coding: utf-8 _*_
from weibo import APIClient
import webbrowser
APP_KEY = 」
APP_SECRET = 」
CALLBACK_URL = 」
#這個是設置回調地址,必須與那個」高級信息「里的一致
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
url = client.get_authorize_url()
# TODO: redirect to url
#print url
webbrowser.open_new(url)
# 獲取URL參數code:
code = 『『
client = APIClient(app_key=APP_KEY, app_secret=APP_SECRET, redirect_uri=CALLBACK_URL)
r = client.request_access_token(code)
access_token = r.access_token # 新浪返回的token,類似abc123xyz456
expires_in = r.expires_in # token過期的UNIX時間:http://zh.wikipedia.org/wiki/UNIX%E6%97%B6%E9%97%B4
# TODO: 在此可保存access token
client.set_access_token(access_token, expires_in)
print client.friendships.friends.bilateral.ids.get(uid = 12345678)
通過以上的代碼,我實現了調用相互關注API的調用,即查找與某個id的用戶相互關注的人的列表。
其中,APP_KEY和APP_SECRET就是前文中分配給每個應用的信息,回調地址在每個應用的高級信息中可以看到,需要自己設置,不過隨便設置一下就好
比較惡心的是code的獲取,我一開始看sinaweibopy的文檔的時候也沒弄懂是什麼意思,如上面的代碼所示,url得到的是一個授權的網址,我們通過
webbrowser.open_new(url)
這行代碼打開瀏覽器跳轉到授權的界面,然後觀察所在界面的網址,會顯示大概如下一樣的格式:
http://apps.weibo.com/sayarywei?code=
看到了嗎?
問號後面有一個code=……的一個東西,把等號後面的字元串拷貝下來賦給code就可以了,但是每次運行程序是code不是一成不變的,也就是說每次都
要有這么一個手動獲取的過程,我覺得很麻煩,以後自己再研究一下,實現自動獲取code就好了。如果能有哪位大神告訴我,感激不盡~
好了,得到正確的code之後就可以完成授權認證,也就可以調用微博的API啦,至於如何在Python下調用,我拷貝一下sinaweibopy上的介紹:
首先查看新浪微博API文檔,例如:
API:statuses/user_timeline
請求格式:GET
請求參數:
source:string,採用OAuth授權方式不需要此參數,其他授權方式為必填參數,數值為應用的AppKey?。
access_token:string,採用OAuth授權方式為必填參數,其他授權方式不需要此參數,OAuth授權後獲得。
uid:int64,需要查詢的用戶ID。
screen_name:string,需要查詢的用戶昵稱。
(其它可選參數略)
調用方法:將API的「/」變為「.」,根據請求格式是GET或POST,調用get ()或post()並傳入關鍵字參數,但不包括source和access_token參數:
r = client.statuses.user_timeline.get(uid=123456)
for st in r.statuses:
print st.text
若為POST調用,則示例代碼如下:
r = client.statuses.update.post(status=u'測試OAuth 2.0發微博')
若需要上傳文件,傳入file-like object參數,示例代碼如下:
f = open('/Users/michael/test.png', 'rb')
r = client.statuses.upload.post(status=u'測試OAuth 2.0帶圖片發微博', pic=f)
f.close() # APIClient不會自動關閉文件,需要手動關閉
請注意:上傳的文件必須是file-like object,不能是str,因為無法區分一個str是文件還是欄位。可以通過StringIO把一個str包裝成file-like object。
『叄』 如何用python 快速做出一個api服務
python 輕量級的框架flask
可以讓你在兩分鍾內,搭建出一個簡單的
api介面服務
輕量級不代表功能簡單,容易上手
它的優勢是,模塊化,易擴展,定製性強
比如:一個最簡單api介面2 分鍾搞定
加入你需要加入登錄驗證功能
加入頁面跳轉功能呢
如果想要渲染載入前段頁面呢
flask框里有你意想不到的插件,讓你完成最夠強大
的功能,怎麼樣,趕緊來試試吧
『肆』 Python中的API如何更好的理解
比如你自己實現了一個好用的功能,你把它寫成類,定義一些類的屬性和方法。然後給別人用的時候,別人只需要知道你這個類有哪些關鍵的屬性和方法,然後每個屬性是什麼意思以及調用這個方法能做什麼事。別人直接拿來就用,不需要看你是怎麼實現這個功能的,而你給他的每個方法的文檔說明就是API文檔了,這就是面向對象的思想吧。當然這只是類的API介面,還有通信類的網路介面等到。
『伍』 python怎麼調用api介面
調用windows API的方式其實有兩種,第一種是通過第三方模塊pywin32。
如果小夥伴安裝了pip,可以通過pip安裝pywin32
在命令行中運行pip pst查看是否安裝了pywin32
如圖
我們這里調用一個windows最基本的API,MessageBox,該介面可以顯示一個對話框。
這里小編就不過多介紹了,只簡單的描述MessageBox介面,MessageBox是windows的一個API介面,作用是顯示一個對話框。
原型為:
int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);
第一個參數hWnd,指明了該對話框屬於哪個窗口,lpText為窗口提示信息,lpCaption則為窗口標題,uType則是定義對話框的按鈕和圖標。
這里我們需要導入win32api這個模塊(隸屬於pywin32),如果需要宏定義的,API的宏被定義在win32con(同隸屬於pywin32)模塊內。
這里我們只導入一個win32api模塊,然後簡單的調用MessageBox顯示一個對話框即可。
如果我們不會安裝pywin32模塊,或者說不想安裝這個三方模塊。這時我們還有一個辦法。
調用python內置模塊ctypes,如果小夥伴有windows編程基礎的話,或者看過一點MSDN的話,都該知道,Windows的API其實是以dll文件(動態鏈接庫)方式存在的。
+和|效果是相同的
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python怎麼調用api介面的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
『陸』 TopAPI什麼意思
TopAPI是淘寶開放平台的簡稱,該平台提供各種介面訪問淘寶的數據,第三方軟體商(ISV)可以通過該介面製作各種應用軟體。
『柒』 如何使用python利用api獲取天氣預報
這個和用不用python沒啥關系,是數據來源的問題。調用淘寶API,使用 api相關介面獲得你想要的內容,我 記得api中有相關的介面,你可以看一下介面的說明。用python做爬蟲來進行頁面數據的獲取。希望能幫到你。
『捌』 python subprocess.Popen遇到top等命令怎麼處理
python subprocess.Popen遇到top等命令怎麼處理
有兩種方式:
1、直接使用python xxxx.py執行。其中python可以寫成python的絕對路徑。使用which python進行查詢。
2、在文件的頭部(第一行)寫上#!/usr/bin/python2.7,這個地方使用python的絕對路徑,就是上面用which python查詢來的結果。然後在外面就可以使用./xxx.py執行了。
因為在linux中,python啊shell這些程序都是普通的文本格式,都需要一種程序去解釋執行它。要麼調用的時候指定,要麼在文件頭指定。
『玖』 13個最常用的Python深度學習庫介紹
13個最常用的Python深度學習庫介紹
如果你對深度學習和卷積神經網路感興趣,但是並不知道從哪裡開始,也不知道使用哪種庫,那麼這里就為你提供了許多幫助。
在這篇文章里,我詳細解讀了9個我最喜歡的Python深度學習庫。
這個名單並不詳盡,它只是我在計算機視覺的職業生涯中使用並在某個時間段發現特別有用的一個庫的列表。
這其中的一些庫我比別人用的多很多,尤其是Keras、mxnet和sklearn-theano。
其他的一些我是間接的使用,比如Theano和TensorFlow(庫包括Keras、deepy和Blocks等)。
另外的我只是在一些特別的任務中用過(比如nolearn和他們的Deep Belief Network implementation)。
這篇文章的目的是向你介紹這些庫。我建議你認真了解這里的每一個庫,然後在某個具體工作情境中你就可以確定一個最適用的庫。
我想再次重申,這份名單並不詳盡。此外,由於我是計算機視覺研究人員並長期活躍在這個領域,對卷積神經網路(細胞神經網路)方面的庫會關注更多。
我把這個深度學習庫的列表分為三個部分。
第一部分是比較流行的庫,你可能已經很熟悉了。對於這些庫,我提供了一個通俗的、高層次的概述。然後,針對每個庫我詳細解說了我的喜歡之處和不喜歡之處,並列舉了一些適當的應用案例。
第二部分進入到我個人最喜歡的深度學習庫,也是我日常工作中使用最多的,包括:Keras、mxnet和sklearn-theano等。
最後,我對第一部分中不經常使用的庫做了一個「福利」板塊,你或許還會從中發現有用的或者是在第二板塊中我還沒有嘗試過但看起來很有趣的庫。
接下來就讓我們繼續探索。
針對初學者:
Caffe
提到「深度學習庫」就不可能不說到Caffe。事實上,自從你打開這個頁面學習深度學習庫,我就敢打保票你肯定聽說Caffe。
那麼,究竟Caffe是什麼呢?
Caffe是由Berkeley Vision and Learning Center(BVLC)建立的深度學習框架。它是模塊化的,速度極快。而且被應用於學術界和產業界的start-of-the-art應用程序中。
事實上,如果你去翻閱最新的深度學習出版物(也提供源代碼),你就很可能會在它們相關的GitHub庫中找到Caffe模型。
雖然Caffe本身並不是一個Python庫,但它提供綁定到Python上的編程語言。我們通常在新領域開拓網路的時候使用這些綁定。
我把Caffe放在這個列表的原因是它幾乎被應用在各個方面。你可以在一個空白文檔里定義你的模型架構和解決方案,建立一個JSON文件類型的.prototxt配置文件。Caffe二進制文件提取這些.prototxt文件並培訓你的網路。Caffe完成培訓之後,你可以把你的網路和經過分類的新圖像通過Caffe二進制文件,更好的就直接通過Python或MATLAB的API。
雖然我很喜歡Caffe的性能(它每天可以在K40 GPU上處理60萬張圖片),但相比之下我更喜歡Keras和mxnet。
主要的原因是,在.prototxt文件內部構建架構可能會變得相當乏味和無聊。更重要的是, Caffe不能用編程方式調整超參數!由於這兩個原因,在基於Python的API中我傾向於對允許我實現終端到終端聯播網的庫傾斜(包括交叉驗證和調整超參數)。
Theano
在最開始我想說Theano是美麗的。如果沒有Theano,我們根本不會達到現有的深度學習庫的數量(特別是在Python)。同樣的,如果沒有numpy,我們就不會有SciPy、scikit-learn和 scikit-image,,同樣可以說是關於Theano和深度學習更高級別的抽象。
非常核心的是,Theano是一個Python庫,用來定義、優化和評估涉及多維數組的數學表達式。 Theano通過與numpy的緊密集成,透明地使用GPU來完成這些工作。
雖然可以利用Theano建立深度學習網路,但我傾向於認為Theano是神經網路的基石,同樣的numpy是作為科學計算的基石。事實上,大多數我在文章中提到的庫都是圍繞著Theano,使自己變得更加便利。
不要誤會我的意思,我愛Theano,我只是不喜歡用Theano編寫代碼。
在Theano建設卷積神經網路就像只用本機Python中的numpy寫一個定製的支持向量機(SVM),當然這個對比並不是很完美。
你可以做到嗎?
當然可以。
它值得花費您的時間和精力嗎?
嗯,也許吧。這取決於你是否想擺脫低級別或你的應用是否需要。
就個人而言,我寧願使用像Keras這樣的庫,它把Theano包裝成更有人性化的API,同樣的方式,scikit-learn使機器學習演算法工作變得更加容易。
TensorFlow
與Theano類似,TensorFlow是使用數據流圖進行數值計算的開源庫(這是所有神經網路固有的特徵)。最初由谷歌的機器智能研究機構內的Google Brain Team研究人員開發,此後庫一直開源,並提供給公眾。
相比於Theano ,TensorFlow的主要優點是分布式計算,特別是在多GPU的環境中(雖然這是Theano正在攻克的項目)。
除了用TensorFlow而不是Theano替換Keras後端,對於TensorFlow庫我並沒有太多的經驗。然而在接下來的幾個月里,我希望這有所改變。
Lasagne
Lasagne是Theano中用於構建和訓練網路的輕量級庫。這里的關鍵詞是輕量級的,也就意味著它不是一個像Keras一樣圍繞著Theano的重包裝的庫。雖然這會導致你的代碼更加繁瑣,但它會把你從各種限制中解脫出來,同時還可以讓您根據Theano進行模塊化的構建。
簡而言之:Lasagne的功能是Theano的低級編程和Keras的高級抽象之間的一個折中。
我最喜歡的:
Keras
如果我必須選出一個最喜歡的深度學習Python庫,我將很難在Keras和mxnet中做出抉擇——但最後,我想我會選Keras。
說真的,Keras的好處我說都說不完。
Keras是一個最低限度的、模塊化的神經網路庫,可以使用Theano或TensorFlow作為後端。Keras最主要的用戶體驗是,從構思到產生結果將會是一個非常迅速的過程。
在Keras中架構網路設計是十分輕松自然的。它包括一些state-of-the-art中針對優化(Adam,RMSProp)、標准化(BatchNorm)和激活層(PReLU,ELU,LeakyReLU)最新的演算法。
Keras也非常注重卷積神經網路,這也是我十分需要的。無論它是有意還是無意的,我覺得從計算機視覺的角度來看這是非常有價值的。
更重要的是,你既可以輕松地構建基於序列的網路(其中輸入線性流經網路)又可以創建基於圖形的網路(輸入可以「跳過」某些層直接和後面對接)。這使得創建像GoogLeNet和SqueezeNet這樣復雜的網路結構變得容易得多。
我認為Keras唯一的問題是它不支持多GPU環境中並行地訓練網路。這可能會也可能不會成為你的大忌。
如果我想盡快地訓練網路,那麼我可能會使用mxnet。但是如果我需要調整超參數,我就會用Keras設置四個獨立的實驗(分別在我的Titan X GPUs上運行)並評估結果。
mxnet
我第二喜歡的深度學習Python庫無疑就是mxnet(重點也是訓練圖像分類網路)。雖然在mxnet中站立一個網路可能需要較多的代碼,但它會提供給你驚人數量的語言綁定(C ++、Python、R、JavaScript等)。
Mxnet庫真正出色的是分布式計算,它支持在多個CPU / GPU機訓練你的網路,甚至可以在AWS、Azure以及YARN集群。
它確實需要更多的代碼來設立一個實驗並在mxnet上運行(與Keras相比),但如果你需要跨多個GPU或系統分配訓練,我推薦mxnet。
sklearn-theano
有時候你並不需要終端到終端的培養一個卷積神經網路。相反,你需要把CNN看作一個特徵提取器。當你沒有足夠的數據來從頭培養一個完整的CNN時它就會變得特別有用。僅僅需要把你的輸入圖像放入流行的預先訓練架構,如OverFeat、AlexNet、VGGNet或GoogLeNet,然後從FC層提取特徵(或任何您要使用的層)。
總之,這就是sklearn-theano的功能所在。你不能用它從頭到尾的訓練一個模型,但它的神奇之處就是可以把網路作為特徵提取器。當需要評估一個特定的問題是否適合使用深度學習來解決時,我傾向於使用這個庫作為我的第一手判斷。
nolearn
我在PyImageSearch博客上用過幾次nolearn,主要是在我的MacBook Pro上進行一些初步的GPU實驗和在Amazon EC2 GPU實例中進行深度學習。
Keras把 Theano和TensorFlow包裝成了更具人性化的API,而nolearn也為Lasagne做了相同的事。此外,nolearn中所有的代碼都是與scikit-learn兼容的,這對我來說絕對是個超級的福利。
我個人不使用nolearn做卷積神經網路(CNNs),但你當然也可以用(我更喜歡用Keras和mxnet來做CNNs)。我主要用nolearn來製作Deep Belief Networks (DBNs)。
DIGITS
DIGITS並不是一個真正的深度學習庫(雖然它是用Python寫的)。DIGITS(深度學習GPU培訓系統)實際上是用於培訓Caffe深度學習模式的web應用程序(雖然我認為你可以破解源代碼然後使用Caffe以外其他的後端進行工作,但這聽起來就像一場噩夢)。
如果你曾經用過Caffe,那麼你就會知道通過它的終端來定義.prototxt文件、生成圖像數據、運行網路並監管你的網路訓練是相當繁瑣的。 DIGITS旨在通過讓你在瀏覽器中執行這些任務來解決這個問題。
此外,DIGITS的用戶界面非常出色,它可以為你提供有價值的統計數據和圖表作為你的模型訓練。另外,你可以通過各種輸入輕松地可視化網路中的激活層。最後,如果您想測試一個特定的圖像,您可以把圖片上傳到你的DIGITS伺服器或進入圖片的URL,然後你的Caffe模型將會自動分類圖像並把結果顯示在瀏覽器中。干凈利落!
Blocks
說實話,雖然我一直想嘗試,但截至目前我的確從來沒用過Blocks(這也是我把它包括在這個列表裡的原因)。就像許多個在這個列表中的其他庫一樣,Blocks建立在Theano之上,呈現出一個用戶友好型的API。
deepy
如果讓你猜deepy是圍繞哪個庫建立的,你會猜什麼?
沒錯,就是Theano。
我記得在前一段時間用過deepy(做了初始提交),但在接下里的大概6-8個月我都沒有碰它了。我打算在接下來的博客文章里再嘗試一下。
pylearn2
雖然我從沒有主動地使用pylearn2,但由於歷史原因,我覺得很有必要把它包括在這個列表裡。 Pylearn2不僅僅是一般的機器學習庫(地位類似於scikit-learn),也包含了深度學習演算法的實現。
對於pylearn2我最大的擔憂就是(在撰寫本文時),它沒有一個活躍的開發者。正因為如此,相比於像Keras和mxnet這樣的有積極維護的庫,推薦pylearn2我還有些猶豫。
Deeplearning4j
這本應是一個基於Python的列表,但我想我會把Deeplearning4j包括在這里,主要是出於對他們所做事跡的無比崇敬——Deeplearning4j為JVM建立了一個開源的、分布式的深度學習庫。
如果您在企業工作,你可能會有一個塞滿了用過的Hadoop和MapRece伺服器的儲存器。也許這些你還在用,也許早就不用了。
你怎樣才能把這些相同的伺服器應用到深度學習里?
事實證明是可以的——你只需要Deeplearning4j。
總計
以上就是本文關於13個最常用的Python深度學習庫介紹的全部內容
『拾』 python3判斷電腦關機api
執行py程序後,程序將每隔10分鍾(時間可以自己設置)讀取一次郵箱最新郵件,解析獲得郵件主題,當主題為「關機」時,程序將關閉電腦,為「重啟」時,將重啟電腦。在長時間離開電腦時,可以將py程序跑起來,如果需要關機或重啟,可以向郵箱發一封郵件即可
代碼
# -*- coding:utf-8 -*-
import os
import time
import poplib
import email
from email.header import decode_header
#========================================
# 讀取Email,獲取Email主題
#========================================
def getEmailSubject():
read = poplib.POP3('pop.163.com')
read.user('[email protected]')# 163郵箱用戶名
read.pass_('xxx') # 163郵箱設置中的客戶端授權密碼
allEmails = read.stat() # 讀取郵件信息
topEmail = read.top(allEmails[0], 0) # 獲取最新的一封郵件
tmp = []
# 解碼郵件,存入tmp
for s in topEmail[1]:
try:
tmp.append(s.decode())
except:
try:
tmp.append(s.decode('gbk'))
except:
tmp.append(s.decode('big5'))
message = email.message_from_string('\n'.join(tmp))
# 獲取郵件主題
subject = decode_header(message['Subject'])
if subject[0][1]:
subjectDecode = subject[0][0].decode(subject[0][1])
else:
subjectDecode = subject[0][0]
return subjectDecode
#=========================================
# 檢查Email的主題
#=========================================
def checkEmailSubject():
while True:
subject = getEmailSubject()
print('check subject ...')
print('subject is ' + subject)
if subject == '重啟':
os.system('shutdown -r -t 3')
break
if subject == '關機':
os.system('shutdown -s -t 3')
break
time.sleep(600) # 每10分鍾檢查一次
if __name__ == '__main__':
checkEmailSubject()