python 第三方模塊

python  第三方模塊

paramiko 模塊

1、paramiko 模塊介紹html

  參考連接:http://www.javashuo.com/article/p-ssvvskes-c.htmlpython

  paramiko是用python語言寫的一個模塊,遵循SSH2協議,支持以加密和認證的方式,進行遠程服務器的鏈接。因爲使用的是python這樣的可以跨平臺運行的語言,因此全部python支持的平臺,如Linux, Solaris, BSD, MacOS X, Windows等,paramiko均可以支持,所以,若是須要使用SSH從一個平臺鏈接到另一個平臺,進行一系列的操做時,paramiko是最佳工具之一。windows

2、安裝服務器

一、安裝paramiko有兩個先決條件,python和另一個名爲PyCrypto的模塊網絡

二、PyCrypto安裝ssh

wget http://ftp.dlitz.net/pub/dlitz/crypto/pycrypto/pycrypto-2.6.tar.gz

python setup.py build && python setup.py install


(編譯時報錯:error: command 'gcc' failed with exit status 1;這是由於缺乏python-dev的軟件包,所yum -y install python-devel)

三、paramiko安裝ide

wget http://www.lag.net/paramiko/download/paramiko-1.7.7.1.tar.gz

python setup.py build && python setup.py install


Crypto error:
'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC' (Crypto error: 'module' object has no attribute 'HAVE_DECL_MPZ_POWM_SEC'   找到 /usr/lib/python2.7/site-packages/Crypto/Util/number.py   把if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:   註釋了   #if _fastmath is not None and not _fastmath.HAVE_DECL_MPZ_POWM_SEC:   )  

 

 win 模塊工具

1、介紹ui

  參考連接:http://www.javashuo.com/article/p-uxaabqqg-o.html加密

  win模塊  爲windows下API開發   能夠監控windows下各個硬件信息級個服務級進程管理等

2、API接口說明

  接口連接地址:https://docs.microsoft.com/zh-cn/windows/desktop/CIMWin32Prov/win32-provider

3、代碼樣例

#!/usr/bin/env python
# -*- coding: utf-8 -*- 
import wmi
import os
import sys
import platform
import time 
def sys_version(): 
    c = wmi.WMI ()
    #獲取操做系統版本
    for sys in c.Win32_OperatingSystem():
        print "Version:%s" % sys.Caption.encode("UTF8"),"Vernum:%s" % sys.BuildNumber
        print  sys.OSArchitecture.encode("UTF8")#系統是32位仍是64位的
        print sys.NumberOfProcesses #當前系統運行的進程總數

def cpu_mem():
    c = wmi.WMI ()       
    #CPU類型和內存
    for processor in c.Win32_Processor():
        #print "Processor ID: %s" % processor.DeviceID
        print "Process Name: %s" % processor.Name.strip()
    for Memory in c.Win32_PhysicalMemory():
        print "Memory Capacity: %.fMB" %(int(Memory.Capacity)/1048576)

def cpu_use():
    #5s取一次CPU的使用率
    c = wmi.WMI()
    while True:
        for cpu in c.Win32_Processor():
             timestamp = time.strftime('%a, %d %b %Y %H:%M:%S', time.localtime())
             print '%s | Utilization: %s: %d %%' % (timestamp, cpu.DeviceID, cpu.LoadPercentage)
             time.sleep(5)    

def disk():
    c = wmi.WMI ()   
    #獲取硬盤分區
    for physical_disk in c.Win32_DiskDrive ():
        for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
            for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
                print physical_disk.Caption.encode("UTF8"), partition.Caption.encode("UTF8"), logical_disk.Caption

    #獲取硬盤使用百分狀況
    for disk in c.Win32_LogicalDisk (DriveType=3):
        print disk.Caption, "%0.2f%% free" % (100.0 * long (disk.FreeSpace) / long (disk.Size))

def network():
    c = wmi.WMI ()    
    #獲取MAC和IP地址
    for interface in c.Win32_NetworkAdapterConfiguration (IPEnabled=1):
        print "MAC: %s" % interface.MACAddress
    for ip_address in interface.IPAddress:
        print "ip_add: %s" % ip_address
    print

    #獲取自啓動程序的位置
    for s in c.Win32_StartupCommand ():
        print "[%s] %s <%s>" % (s.Location.encode("UTF8"), s.Caption.encode("UTF8"), s.Command.encode("UTF8")) 
    
    #獲取當前運行的進程
    for process in c.Win32_Process ():
        print process.ProcessId, process.Name

def main():
    sys_version()
    #cpu_mem()
    #disk()
    #network()
    #cpu_use()

if __name__ == '__main__':
    main()
    print platform.system()
    print platform.release()
    print platform.version()
    print platform.platform()
    print platform.machine() 

 pexpect 模塊

1、介紹

  參考連接:http://blog.51cto.com/superleedo/2119076

  Pexpect 是一個用來啓動子程序並對其進行自動控制的 Python 模塊,它能夠用來和像 ssh、ftp、passwd、telnet 等命令行程序進行自動交互。

2、樣例

 

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pexpect
import sys
#經過spawn類啓動和控制子應用程序
child = pexpect.spawn('ssh root@192.168.1.124')
#將pexpect的輸入輸出信息寫到mylog.txt文件中
fout = file('mylog.txt','w')
child.logfile = fout
#將pexpect的輸入輸出信息輸出到標準輸出
#child.logfile = sys.stdout
#expect方法用來判斷子程序產生的輸出,判斷是否匹配相應字符串
child.expect('password:')
#字符串匹配則使用sendline進行迴應-----send:發送命令,不回車、sendline:發送命令,回車、sendcontrol:發送控制符,如:sendctrol('c')等價於‘ctrl+c'、sendeof:發送eof
child.sendline('123456')
child.expect('#')
child.sendline('ls -lh')
child.expect('#')

 

 

psutil
psutil是一個跨平臺庫,可以輕鬆實現獲取系統運行的進程和系統利用率(CPU,內存,磁盤,網絡等)信息,主要應用於系統監控,分析和限制系統資源及進程的管理,它實現了同等命令行工具提供的功能,如ps,top,lsof,netstat,ifconfig,who,df,kill,free,nice等.支持32位,和64位的Linux,Windows,OS X,FreeBSD等操做系統。


https://www.cnblogs.com/Missowalker/p/7921888.html
相關文章
相關標籤/搜索