linux shell 获取用户名,得到linux下用户名、id、shell(分别返回列表和字典)

用笨办法实现(在python 2.4下可以用):

返回列表:

#! /usr/bin/env python

#-*- coding:utf-8 -*-

''' 概述:从/etc/passwd获取系统用户名、用户ID、shell,以列表形式返回

输出:['root, 0, /bin/bash', 'bin, 1, /sbin/nologin', ...]

Create data: 2012-02-09

Version: 1.0

Author: 沈涛

'''

import platform

def getUserName(UserType):

user_list = []

OSType = platform.system()

if (OSType == "Linux"):

fp = open('/etc/passwd').readlines()

for line in fp:

user_list = "%s, %s, %s" % (line.split('\n')[0].split(':')[0],

line.split('\n')[0].split(':')[2],

line.split('\n')[0].split(':')[6])

elif (OSType == "Windows"):

print "Windows System"

return user_list

返回字典:

#! /usr/bin/env python

#-*- coding:utf-8 -*-

''' 概述:从/etc/passwd获取系统用户名、用户ID、shell,以字典形式返回

输出:{'sync': ['5', '/bin/sync'], 'gg': ['506', '/bin/bash'], ...}

Create data: 2012-02-09

Version: 1.0

Author: 沈涛

'''

import platform

def getUserName():

#user_list = {}

item = {}

OSType = platform.system()

print OSType

if (OSType == "Linux"):

fp = open('/etc/passwd').readlines()

for line in fp:

item1 = line.split('\n')[0].split(':')[0]

item2 = line.split('\n')[0].split(':')[2]

item3 = line.split('\n')[0].split(':')[6]

item[item1] = [item2, item3]

elif (OSType == "Windows"):

print "Windows System"

print item

if __name__ == "__main__":

getUserName()

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值