本人最近新學python ,用到關於機器的相關資訊,經過一番研究,從網上查詢資料,經過測試,總結了一下相關的方法.
# -*- coding: utf8 -*-
import os
import win32api
import datetime
import platform
import getpass
import socket
import uuid
import _winreg
import re
1、讀取登錄檔獲取作業系統版本名稱
def getosname():
'''作業系統名稱'''
keypath = r"software\microsoft\windows nt\currentversion"
each_key = _winreg.openkey(_winreg.hkey_local_machine, keypath, 0, _winreg.key_read)
osname,reg_sz = _winreg.queryvalueex(each_key, "productname")
return osname
2、讀取登錄檔獲取作業系統當前版本號
def getosversion():
'''作業系統版本'''
keypath = r"software\microsoft\windows nt\currentversion"
each_key = _winreg.openkey(_winreg.hkey_local_machine, keypath, 0, _winreg.key_read)
osversion,reg_sz = _winreg.queryvalueex(each_key, "currentversion")
return osversion
3、讀取登錄檔獲取作業系統的型號
def getosmodel():
'''作業系統型號'''
keypath = r"software\microsoft\windows nt\currentversion"
each_key = _winreg.openkey(_winreg.hkey_local_machine, keypath, 0, _winreg.key_read)
osmodel,reg_sz = _winreg.queryvalueex(each_key, "editionid")
return osmodel
4、#根據檔案的全路徑獲取檔案的版本號
def getfileversion(filepath):
info = win32api.getfileversioninfo(filepath, os.sep)
ms = info['fileversionms']
ls = info['fileversionls']
version = '%d.%d.%d.%04d' % (win32api.hiword(ms), win32api.loword(ms), win32api.hiword(ls), win32api.loword(ls))
return version
5、通過platform模組讀取機器的其它資訊
def get_architecture():
'''獲取作業系統的位數'''
return platform.architecture()
def get_machine():
'''計算機型別'''
return platform.machine()
def get_node():
'''計算機的網路名稱'''
return platform.node()
def get_processor():
'''計算機處理器資訊'''
return platform.processor()
def get_system():
'''獲取作業系統型別'''
return platform.system()
def get_totalinfo():
'''彙總資訊'''
return platform.uname()
def get_localdatapath():
'''當前使用者路徑'''
return os.path.expanduser('~')
def get_username():
'''當前使用者名稱'''
return getpass.getuser()
def get_computername1():
'''獲取機器名稱'''
return platform.node()()
def get_computername():
'''獲取機器名稱'''
return socket.gethostname()
def get_addressip():
'''獲取本機ip'''
return socket.gethostbyname(get_computername())
def get_mac():
'''獲取mac位址'''
mac=uuid.uuid(int = uuid.getnode()).hex[-12:]
return ':'.join(mac[e:e+2].upper() for e in xrange(0,11,2))
def show_os_all_info():
'''列印os的全部資訊'''
print('作業系統的位數 : [{}]'.format(get_architecture()))
print('計算機型別 : [{}]'.format(get_machine()))
print('計算機的網路名稱 : [{}]'.format(get_node()))
print('計算機處理器資訊 : [{}]'.format(get_processor()))
print('作業系統型別 : [{}]'.format(get_system()))
print('彙總資訊 : [{}]'.format(get_totalinfo()))
print('當前使用者路徑: [{}]'.format(get_localdatapath()))
print('當前使用者名稱: [{}]'.format(get_username()))
print('機器名稱: [{}]'.format(get_computername()))
print('機器ip: [{}]'.format(get_addressip()))
5 驗證碼機器識別
因為我們不能每次都要手動輸入驗證碼,所以要想辦法讓電腦來做這件事 因為學校的這個驗證碼太水了,識別非常容易,所以我直接用pytesser這個包就可以達到可以接受的識別率了 為了不影響主函式,先新建乙個pytesser.py,我們在這裡面先測試一下這個庫可不可以正常用 pytesser庫的安裝我記得很...
讀《人臉自動機器識別》
以下是 人臉自動機器識別 2009年1月出版,段錦著 第40 41頁的內容 4.1.1 rgb顏色模型 rgb模型是人們最常用的顏色模型。國際照明委員會 cie 選擇紅色 波長700.0nm 綠色 波長546.1nm 藍色 波長435.8nm 三種單色光作為表色系統的三基色,這就是rgb色系座標系。...
Android模擬器識別技術
等等,不過裡面的很多手段都能通過改寫rom或者xposed作假,讓判斷的效能打折扣。其實,現在絕大部分手機都是基於arm架構,可以將其他cpu架構給忽略不計,模擬器全部執行在pc上,因此,只需要判斷是執行的裝置否是arm架構即可。arm與pc的x86在架構上有很大區別,arm採用的哈弗架構將指令儲存...