導航:首頁 > 編程語言 > pythonlinuxapi

pythonlinuxapi

發布時間:2022-03-14 15:53:07

1. python 怎麼獲取 linux 的 cpu 負載 網速的信息 用api方式返回 求示例代碼

http://blog.csdn.net/huguangshanse00/article/details/17053789

2. linux python運行matlab代碼

matlab自帶的Engine API for python,一個python源碼安裝包,直接安裝完成後,就可以調用matlab代碼了,目前,這種方式支持的python版本主要是python2.7和python3.5以上,下面我簡單介紹一下這種方式:

1.首先,安裝Engine API for python,這個直接在matlab安裝目錄下找就行,主要在engines目錄中,如下,有2個API介面,一種是java,一種是python:

3. 學習python的話大概要學習哪些內容

想要學習Python,需要掌握的內容還是比較多的,對於自學的同學來說會有一些難度,不推薦自學能力差的人。我們將學習的過程劃分為4個階段,每個階段學習對應的內容,具體的學習順序如下:

Python學習順序:

①Python軟體開發基礎

想要系統學習,你可以考察對比一下開設有IT專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能,南京北大青鳥、中博軟體學院、南京課工場等都是不錯的選擇,建議實地考察對比一下。

祝你學有所成,望採納。

4. ubuntu|linux下 如何用python 模擬按鍵

ubuntu下,也就是linux下,通常會用kill -事件編號實現。 你查一下LINUX下的事件就明白了。


kill 進程號 實現上是發了一個信號給指定的進程。 在python里,也可以載入事件處理模塊,處理來自其它程序發過來的信號, 當然你可以用KILL工具發信號過來。


ctrl+d也是一個信號,ctrl+c也是一個。具體信號編碼我不記得了。不過以前我做多進程管理時就是使用這個方法。 好象信號還可以帶參數過來。


你打開python的幫助。看看signal這個模塊。我把它的例子拿過來。對你有用不

importsignal,os
defhandler(signum,frame):
print'Signalhandlercalledwithsignal',signum
raiseIOError("Couldn'topendevice!")

#Setthesignalhandleranda5-secondalarm
signal.signal(signal.SIGALRM,handler)
signal.alarm(5)

#Thisopen()mayhangindefinitely
fd=os.open('/dev/ttyS0',os.O_RDWR)

signal.alarm(0)#Disablethealarm

下面是我找到的一些資料。也許有用。


信號的概念

信號(signal)--進程之間通訊的方式,是一種軟體中斷。一個進程一旦接收到信號就會打斷原來的程序執行流程來處理信號。

幾個常用信號:

SIGINT終止進程中斷進程(control+c)

SIGTERM終止進程軟體終止信號

SIGKILL終止進程殺死進程

SIGALRM鬧鍾信號

進程結束信號SIGTERM和SIGKILL的區別

SIGTERM比較友好,進程能捕捉這個信號,根據您的需要來關閉程序。在關閉程序之前,您可以結束打開的記錄文件和完成正在做的任務。在某些情況下,假如進程正在進行作業而且不能中斷,那麼進程可以忽略這個SIGTERM信號。

對於SIGKILL信號,進程是不能忽略的。這是一個「我不管您在做什麼,立刻停止」的信號。假如您發送SIGKILL信號給進程,Linux就將進程停止在那裡。

發送信號一般有兩種原因:

1(被動式)內核檢測到一個系統事件.例如子進程退出會像父進程發送SIGCHLD信號.鍵盤按下control+c會發送SIGINT信號

2(主動式)通過系統調用kill來向指定進程發送信號

linux操作系統提供的信號

[100003@oss235 myppt]$ kill -l

1) SIGHUP2) SIGINT3) SIGQUIT4) SIGILL

5) SIGTRAP6) SIGABRT7) SIGBUS8) SIGFPE

9) SIGKILL10) SIGUSR111) SIGSEGV12) SIGUSR2

13) SIGPIPE14) SIGALRM15) SIGTERM16) SIGSTKFLT

17) SIGCHLD18) SIGCONT19) SIGSTOP20) SIGTSTP

21) SIGTTIN22) SIGTTOU23) SIGURG24) SIGXCPU

25) SIGXFSZ26) SIGVTALRM27) SIGPROF28) SIGWINCH

29) SIGIO30) SIGPWR31) SIGSYS34) SIGRTMIN

35) SIGRTMIN+136) SIGRTMIN+237) SIGRTMIN+338) SIGRTMIN+4

39) SIGRTMIN+540) SIGRTMIN+641) SIGRTMIN+742) SIGRTMIN+8

43) SIGRTMIN+944) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12

47) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14

51) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10

55) SIGRTMAX-956) SIGRTMAX-857) SIGRTMAX-758) SIGRTMAX-6

59) SIGRTMAX-560) SIGRTMAX-461) SIGRTMAX-362) SIGRTMAX-2

63) SIGRTMAX-164) SIGRTMAX

Python提供的信號

Python 2.4.3 (#1, Jun 11 2009, 14:09:58)

[GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2

Type "help", "right", "credits" or "license" for more information.

>>> import signal

>>> dir(signal)

['NSIG', 'SIGABRT', 'SIGALRM', 'SIGBUS', 'SIGCHLD', 'SIGCLD',
'SIGCONT', 'SIGFPE', 'SIGHUP', 'SIGILL', 'SIGINT', 'SIGIO', 'SIGIOT',
'SIGKILL', 'SIGPIPE', 'SIGPOLL', 'SIGPROF', 'SIGPWR', 'SIGQUIT',
'SIGRTMAX', 'SIGRTMIN', 'SIGSEGV', 'SIGSTOP', 'SIGSYS', 'SIGTERM',
'SIGTRAP', 'SIGTSTP', 'SIGTTIN', 'SIGTTOU', 'SIGURG', 'SIGUSR1',
'SIGUSR2', 'SIGVTALRM', 'SIGWINCH', 'SIGXCPU', 'SIGXFSZ', 'SIG_DFL',
'SIG_IGN', '__doc__', '__name__', 'alarm', 'default_int_handler',
'getsignal', 'pause', 'signal']

操作系統規定了進程收到信號以後的默認行為

但是,我們可以通過綁定信號處理函數來修改進程收到信號以後的行為

有兩個信號是不可更改的SIGTOP和SIGKILL

綁定信號處理函數

import os
import signal
from time import sleep

def onsignal_term(a,b):
print '收到SIGTERM信號'

#這里是綁定信號處理函數,將SIGTERM綁定在函數onsignal_term上面
signal.signal(signal.SIGTERM,onsignal_term)

def onsignal_usr1(a,b):
print '收到SIGUSR1信號'
#這里是綁定信號處理函數,將SIGUSR1綁定在函數onsignal_term上面
signal.signal(signal.SIGUSR1,onsignal_usr1)

while 1:
print '我的進程id是',os.getpid()
sleep(10)


運行該程序。然後通過另外一個進程來發送信號。

發送信號

發送信號的代碼如下:

import os
import signal

#發送信號,16175是前面那個綁定信號處理函數的pid,需要自行修改
os.kill(16175,signal.SIGTERM)
#發送信號,16175是前面那個綁定信號處理函數的pid,需要自行修改
os.kill(16175,signal.SIGUSR1)

5. linux環境下python怎樣操作mysql資料庫

linux環境下python怎樣操作mysql資料庫呢?方法如下:

首先在Linux環境下安裝mysql-python

1、下載mysql-python

打開終端:

cd /usr/local

sudo wgethttp://nchc.dl.sourceforge.net/sourceforge/mysql-python/MySQL-python-1.2.2.tar.gz

官網地址:http://sourceforge.net/projects/mysql-python/

2、解壓

sudo tar -zxvf MySQL-python-1.2.2.tar.gz

cd MySQL-python-1.2.2

3、在安裝前需進行配置

a、修改setup_posix.py中的mysql_config.path為你mysql安裝目錄的mysql_config路徑

b、修改site.cfg中的threadsafe = False,去掉mysql_config前的注釋,並改為mysql_config = /usr/local/mysql/bin/mysql_config

c、執行命令:

export LD_LIBRARY_PATH=/usr/local/mysql/lib/mysql

sudo ln -s /usr/local/mysql/lib/mysql/libmysqlclient.so /usr/lib/libmysqlclient.so.14

sudo ldconfig (這個很重要,否則後面會報錯ImportError: libmysqlclient.so.14: cannot open shared object file)

4、編譯安裝

1)python setup.py build

若未成功的話,需手動安裝setuptools:

sudo apt-get install python-setuptools
2)sudo python setup.py install

5、測試

python

>>> import MySQLdb

沒有錯誤,則表示安裝成功了。

使用python操作MySQL

使用python連接MySQL,創建資料庫,創建表格,插入/查詢數據。python_mysql.py代碼如下:

若出現類似於此的警告:

/usr/local/lib/python2.6/dist-packages/MySQL_python-1.2.2-py2.6-linux-i686.egg/MySQLdb/__init__.py:34: DeprecationWarning: the sets mole is deprecated from sets import ImmutableSet

解決辦法如下:
找到上面路徑MySQLdb下的__init__.py文件
1) 在文件中 "__init__.py"中, 注釋掉:
from sets import ImmutableSet
class DBAPISet(ImmutableSet):
新增:
class DBAPISet(frozenset):


2) 在文件"converters.py"中,注釋掉 from sets import BaseSet, Set 這一句話。

3) 在文件"converters.py"中, 修改 其中的"Set" 成為 "set" ( 只有兩個地方需要修改,即大寫改小寫)

大概 line 45: return Set([ i for i in s.split(',') if i ]) 改為 return set([ i for i in s.split(',') if i ])

大概 line 129: Set: Set2Str, 改為 set: Set2Str,

1.引入MySQLdb庫

import MySQLdb

2.和資料庫建立連接

conn=MySQLdb.connect(host="localhost",user="root",passwd="sa",db="mytable",charset="utf8")

提供的connect方法用來和資料庫建立連接,接收數個參數,返回連接對象.

比較常用的參數包括

host:資料庫主機名.默認是用本地主機.

user:資料庫登陸名.默認是當前用戶.

passwd:資料庫登陸的秘密.默認為空.

db:要使用的資料庫名.沒有默認值.

port:MySQL服務使用的TCP埠.默認是3306.

charset:資料庫編碼.

然後,這個連接對象也提供了對事務操作的支持,標準的方法

commit() 提交

rollback() 回滾

3.執行sql語句和接收返回值

cursor=conn.cursor()

n=cursor.execute(sql,param)

首先,我們用使用連接對象獲得一個cursor對象,接下來,我們會使用cursor提供的方法來進行工作.這些方法包括兩大類:1.執行命令,2.接收返回值

cursor用來執行命令的方法:

callproc(self, procname, args):用來執行存儲過程,接收的參數為存儲過程名和參數列表,返回值為受影響的行數

execute(self, query, args):執行單條sql語句,接收的參數為sql語句本身和使用的參數列表,返回值為受影響的行數

executemany(self, query, args):執行單條sql語句,但是重復執行參數列表裡的參數,返回值為受影響的行數

nextset(self):移動到下一個結果集

cursor用來接收返回值的方法:

fetchall(self):接收全部的返回結果行.

fetchmany(self, size=None):接收size條返回結果行.如果size的值大於返回的結果行的數量,則會返回cursor.arraysize條數據.

fetchone(self):返回一條結果行.

scroll(self, value, mode='relative'):移動指針到某一行.如果mode='relative',則表示從當前所在行移動value條,如果mode='absolute',則表示從結果集的第一行移動value條.

下面的代碼是一個完整的例子.

#使用sql語句,這里要接收的參數都用%s佔位符.要注意的是,無論你要插入的數據是什麼類型,佔位符永遠都要用%s

sql="insert into cdinfo values(%s,%s,%s,%s,%s)"

#param應該為tuple或者list

param=(title,singer,imgurl,url,alpha)

#執行,如果成功,n的值為1

n=cursor.execute(sql,param)

#再來執行一個查詢的操作

cursor.execute("select * from cdinfo")

#我們使用了fetchall這個方法.這樣,cds里保存的將會是查詢返回的全部結果.每條結果都是一個tuple類型的數據,這些tuple組成了一個tuple

cds=cursor.fetchall()

#因為是tuple,所以可以這樣使用結果集

print cds[0][3]

#或者直接顯示出來,看看結果集的真實樣子

print cds

#如果需要批量的插入數據,就這樣做

sql="insert into cdinfo values(0,%s,%s,%s,%s,%s)"

#每個值的集合為一個tuple,整個參數集組成一個tuple,或者list

param=((title,singer,imgurl,url,alpha),(title2,singer2,imgurl2,url2,alpha2))

#使用executemany方法來批量的插入數據.這真是一個很酷的方法!

n=cursor.executemany(sql,param)

4.關閉資料庫連接

需要分別的關閉指針對象和連接對象.他們有名字相同的方法

cursor.close()

conn.close()

以上方法就可以了。

另外,附MySQLdb的相關資料

更多關於MySQLdb的信息可以查這里:http://mysql-python.sourceforge.net/MySQLdb.html

6. 如何在linux ubuntu 下安裝scapy pyx

最近在學習爬蟲,早就聽說Python寫爬蟲極爽(貌似pythoner說python都爽,不過也確實,python的類庫非常豐富,不用重復造輪子),還有一個強大的框架Scrapy,於是決定嘗試一下。
要想使用Scrapy第一件事,當然是安裝Scrapy,嘗試了Windows和Ubuntu的安裝,本文先講一下 Ubuntu的安裝,比Windows的安裝簡單太多了。抽時間也會詳細介紹一下怎麼在Windows下進行安裝。
官方介紹,在安裝Scrapy前需要安裝一系列的依賴.
* Python 2.7: Scrapy是Python框架,當然要先安裝Python ,不過由於Scrapy暫時只支持 Python2.7,因此首先確保你安裝的是Python 2.7
* lxml:大多數Linux發行版自帶了lxml
* OpenSSL:除了windows之外的系統都已經提供
* Python Package: pip and setuptools. 由於現在pip依賴setuptools,所以安裝pip會自動安裝setuptools
有上面的依賴可知,在非windows的環境下安裝 Scrapy的相關依賴是比較簡單的,只用安裝pip即可。Scrapy使用pip完成安裝。
檢查Scrapy依賴是否安裝
你可能會不放心自己的電腦是否已經安裝了,上面說的已經存在的依賴,那麼你可以使用下面的方法檢查一下,本文使用的是Ubuntu 14.04。
檢查Python的版本
$ python --version
如果看到下面的輸出,說明Python的環境已經安裝,我這里顯示的是Python 2.7.6,版本也是2.7的滿足要求。如果沒有出現下面的信息,那麼請讀者自行網路安裝Python,本文不介紹Python的安裝(網上一搜一堆)。

檢查lxml和OpenSSL是否安裝
假設已經安裝了Python,在控制台輸入python,進入Python的交互環境。

然後分別輸入import lxml和import OpenSSL如果沒有報錯,說明兩個依賴都已經安裝。

安裝python-dev和libevent
python-dev是linux上開發python比較重要的工具,以下的情況你需要安裝
* 你需要自己安裝一個源外的python類庫, 而這個類庫內含需要編譯的調用python api的c/c++文件
* 你自己寫的一個程序編譯需要鏈接libpythonXX.(a|so)
libevent是一個時間出發的高性能的網路庫,很多框架的底層都使用了libevent
上面兩個庫是需要安裝的,不然後面後報錯。使用下面的指令安裝
$sudo apt-get install python-dev
$sudo apt-get install libevent-dev
安裝pip
因為Scrapy可以使用pip方便的安裝,因此我們需要先安裝pip,可以使用下面的指令安裝pip
$ sudo apt-get install python-pip
使用pip安裝Scrapy
使用下面的指令安裝Scrapy。
$ sudo pip install scrapy
記住一定要獲得root許可權,否則會出現下面的錯誤。

至此scrapy安裝完成,使用下面的命令檢查Scrapy是否安裝成功。
$ scrapy version
顯示如下結果說明安裝成功,此處的安裝版本是1.02

7. 先學python還是linux

因為早期python對windows支持並不友好,比如要使用某些庫還需要在windows下進行編譯,也就是說需要額外安裝一些除了python以外的軟體。當然linux下使用也同樣需要安裝這些工具,但是可以由linux的apt、yum等軟體管理命令自動解決依賴關系,並不需要像windows那樣手動下載安裝。同樣對python及庫的升級windows下也沒有linux下一條upgrade命令解決那麼簡單。
相關推薦:《Python教程》
當然現在有了很多第三方的集成化的打好包的套件,所以以上那些弊端逐漸沒有了。
同時windows、linux兩個平台對並行程序的實現方式也不一樣,要看你最終要在哪個平台上運行。
如果你在windows平台下運行python,可以沒必要學習linux。
當然,只是學python開發flask web api之類的東西,也就是後端api服務,大部分公司需求是這樣的,然後這些伺服器全部是linux系統,所以在linux下學習一步到位了,很多相關的服務是沒法運行在windows上面的,比如memcache,redis等緩存服務。這些都是經常用到的,沒有linux你也沒法學。所以如果掌握了linux相關知識會對你學習python有更多的幫助,至於先學哪個,並沒有太大影響,取決於你自己。

8. 要想用python在linux的VPS上搭個API都需要裝什麼系統是centos5.6

django?

9. 如何系統的學習python

分享Python學習路線:

第一階段:Python基礎與Linux資料庫

這是Python的入門階段,也是幫助零基礎學員打好基礎的重要階段。你需要掌握Python基本語法規則及變數、邏輯控制、內置數據結構、文件操作、高級函數、模塊、常用標准庫模板、函數、異常處理、mysql使用、協程等知識點。

學習目標:掌握Python的基本語法,具備基礎的編程能力;掌握Linux基本操作命令,掌握MySQL進階內容,完成銀行自動提款機系統實戰、英漢詞典、歌詞解析器等項目。

第二階段:web全棧

這一部分主要學習web前端相關技術,你需要掌握html、cssJavaScript、JQuery、Bootstrap、web開發基礎、Vue、FIask Views、FIask模板、資料庫操作、FIask配置等知識。

學習目標:掌握web前端技術內容,掌握web後端框架,熟練使用FIask、Tornado、Django,可以完成數據監控後台的項目。

第三階段:數據分析+人工智慧

這部分主要是學習爬蟲相關的知識點,你需要掌握數據抓取、數據提取、數據存儲、爬蟲並發、動態網頁抓取、scrapy框架、分布式爬蟲、爬蟲攻防、數據結構、演算法等知識。

學習目標:可以掌握爬蟲、數據採集,數據機構與演算法進階和人工智慧技術。可以完成爬蟲攻防、圖片馬賽克、電影推薦系統、地震預測、人工智慧項目等階段項目。

第四階段:高級進階

這是Python高級知識點,你需要學習項目開發流程、部署、高並發、性能調優、Go語言基礎、區塊鏈入門等內容。

學習目標:可以掌握自動化運維與區塊鏈開發技術,可以完成自動化運維項目、區塊鏈等項目。

按照上面的Python學習路線圖學習完後,你基本上就可以成為一名合格的Python開發工程師。當然,想要快速成為企業競聘的精英人才,你需要有好的老師指導,還要有較多的項目積累實戰經驗。

自學本身難度較高,一步一步學下來肯定全面且扎實,如果自己有針對性的想學哪一部分,可以直接跳過暫時不需要的針對性的學習自己需要的模塊,可以多看一些不同的視頻學習。

閱讀全文

與pythonlinuxapi相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:62
Windows常用c編譯器 瀏覽:778
關於改善國家網路安全的行政命令 瀏覽:833
安卓如何下載網易荒野pc服 瀏覽:654
javainetaddress 瀏覽:104
蘋果4s固件下載完了怎麼解壓 瀏覽:1003
命令zpa 瀏覽:285
python編譯器小程序 瀏覽:944
在app上看視頻怎麼光線調暗 瀏覽:540
可以中文解壓的解壓軟體 瀏覽:593
安卓卸載組件應用怎麼安裝 瀏覽:913
使用面向對象編程的方式 瀏覽:339
程序員項目經理的年終總結範文 瀏覽:929
內衣的加密設計用來幹嘛的 瀏覽:432
淮安數據加密 瀏覽:292
魔高一丈指標源碼 瀏覽:982
松下php研究所 瀏覽:168
c回調java 瀏覽:400
夢幻端游長安地圖互通源碼 瀏覽:746
電腦本地文件如何上傳伺服器 瀏覽:313