platformというモジュールで色々調べられます。
とりあえずFefora7-x64にて。
>>> import platform >>> platform.uname() ('Linux', 'machineName', '2.6.23.15-80.fc7', '#1 SMP Sun Feb 10 16:52:18 EST 2008', 'x86_64', 'x86_64') >>> platform.system() 'Linux' >>> platform.node() 'pern' >>> platform.platform() 'Linux-2.6.23.15-80.fc7-x86_64-with-redhat-7-Moonshine'
XP-32bit
>>> import platform >>> platform.uname() ('Windows', 'machineName', 'XP', '5.1.2600', '', '') >>> platform.system() 'Windows' >>> platform.node() 'machineName' >>> platform.platform() 'Windows-XP-5.1.2600-SP2'
またはsys.platformでも調べることが出来ます。
Fedora7 -x64
Fedora7 -x64
>>> import sys >>> sys.platform 'linux2'
}
XP-32bit
>>> import sys >>> sys.platform 'win32'
wxを使う
wxを使っているなら、こんなのもあります。
Fedora7 -x64
Fedora7 -x64
>>> import wx >>> wx.GetUserId() u'hajime' >>> wx.GetOsDescription() u'Linux 2.6.23.15-80.fc7 x86_64' >>> wx.GetHostName() u'machineName' >>>
XP-32bit
>>> import wx >>> wx.GetUserId() u'hajime' >>> wx.GetOsDescription() u'Windows XP (build 2600, Service Pack 2)' >>> wx.GetHostName() u'machineName' >>>
以下の関数もチェックです。
wx.Now()
wx.GetLocalTime()
wx.DisplaySize()
wx.GetUserId()
wx.GetOsDescription()
wx.GetHostName()
wx.version()
wx.Now()
wx.GetLocalTime()
wx.DisplaySize()
wx.GetUserId()
wx.GetOsDescription()
wx.GetHostName()
wx.version()
socketを使う
socketを使ってローカルホスト名とIPを得ることもできるようです。
ローカルホスト名やIPアドレスを得る
ローカルホスト名やIPアドレスを得る
が、linuxでこの方法を試したのですが127.0.0.1しか返りません。
>>>host = socket.gethostname() >>>ip = socket.gethostbyname_ex(host) >>>print ip[2][0] 127.0.0.1
これを乗り切るにはちょっとしたトリックが必要。
>>> s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) >>> s.connect(("www.google.com", 80)) >>> ip = s.getsockname() >>> s.close() >>> print ip ('192.168.x.x', 55623)
ダサいですね。諦めてifconfigから取った方が良さそう。
実行ユーザーの取得
uidを取得
import os
print os.getuid()
ユーザー名
import pwd, os
print pwd.getpwuid(os.getuid())[0]
import os
print os.getuid()
ユーザー名
import pwd, os
print pwd.getpwuid(os.getuid())[0]
このwikiの更新情報RSS