python实现得到当前登录用户信息的方法


Posted in Python onJune 21, 2019

本文实例讲述了python实现得到当前登录用户信息的方法。分享给大家供大家参考,具体如下:

在linux 环境下,python 更多的被当做 替代 SHELL 的工具语言, 其实linux 中,本身就有很多命令是通过python扩展的,我想记录下一些常用的命令以及使用方式,以便以后查看.

第一部分:python得到得到当前登录用户信息

def get_current_user():
  try:
    # pwd is unix only
    import pwd 
    return pwd.getpwuid(os.getuid())[0]
  except ImportError, e:  
    import getpass
    return getpass.getuser()
def get_default_group_for_user(user):
  import grp
  group = None
  try:
    gid= pwd.getpwnam(user)[3]
    groups = grp.getgrgid(gid)[0]
  except KeyError, e:
    print( 'Failed to find primary group from user %s' ,user)
    return group

注意的是 pwd, grp 模块只能在linux,unix 下才有的. 我在网上搜索到了另一个在window 下得到用户组相关信息的方法,但需要安装  Python Win32 Extensions 模块。可以在这里下载 (http://starship.python.net/crew/mhammond/win32/),使用方法如下:

import win32net
import platform
import getpass
#Get current hostname and username
sHostname = platform.uname()[1]
sUsername = getpass.getuser()
#Define account memberships to test as false
memberAdmin = False
memberORA_DBA = False
for groups in win32net.NetUserGetLocalGroups(sHostname,sUsername):
  #If membership present, set to true
  if groups == 'Administrators':
    print "member of admin"
    memberAdmin = True
  if groups == 'ORA_DBA':
    print "member of orA_DBA"
    memberORA_DBA = True
#if all true pass, else fail
if (memberAdmin == True) and (memberORA_DBA == True):
  print "membership is good"
else:
  print "current account does not have the proper group membership"

得到用户名,当然只是第一步,后面还涉及到修改权限等操作。后面有时间再记录.

希望本文所述对大家基于Django框架的Python程序设计有所帮助。

Python 相关文章推荐
python实现批量转换文件编码(批转换编码示例)
Jan 23 Python
python实现决策树分类算法
Dec 21 Python
浅谈Python对内存的使用(深浅拷贝)
Jan 17 Python
Numpy中的mask的使用
Jul 21 Python
解决django中ModelForm多表单组合的问题
Jul 18 Python
利用Python实现手机短信监控通知的方法
Jul 22 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
使用python写的opencv实时监测和解析二维码和条形码
Aug 14 Python
Python中常用的高阶函数实例详解
Feb 21 Python
详解Python中的编码问题(encoding与decode、str与bytes)
Sep 30 Python
深入探讨opencv图像矫正算法实战
May 21 Python
python opencv通过4坐标剪裁图片
Jun 05 Python
python-django中的APPEND_SLASH实现方法
Jun 21 #Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 #Python
pyqt5与matplotlib的完美结合实例
Jun 21 #Python
django框架防止XSS注入的方法分析
Jun 21 #Python
pyqt5中QThread在使用时出现重复emit的实例
Jun 21 #Python
python发送多人邮件没有展示收件人问题的解决方法
Jun 21 #Python
pyqt5让图片自适应QLabel大小上以及移除已显示的图片方法
Jun 21 #Python
You might like
PHP操作XML作为数据库的类
2010/12/19 PHP
golang实现php里的serialize()和unserialize()序列和反序列方法详解
2018/10/30 PHP
PHP call_user_func和call_user_func_array函数的简单理解与应用分析
2019/11/25 PHP
yii框架结合charjs统计上一年与当前年数据的方法示例
2020/04/04 PHP
onsubmit阻止form表单提交与onclick的相关操作
2010/09/03 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
使用js检测浏览器的实现代码
2013/05/14 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
通过JS判断联网类型和连接状态的实现代码
2015/04/01 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
vue路由守卫+登录态管理实例分析
2019/05/21 Javascript
JS实现的碰撞检测与周期移动完整示例
2019/09/02 Javascript
[01:13]这,就是刀塔
2014/07/16 DOTA
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
python自定义类并使用的方法
2015/05/07 Python
python通过zabbix api获取主机
2018/09/17 Python
用Python实现数据的透视表的方法
2018/11/16 Python
PyQt4实时显示文本内容GUI的示例
2019/06/14 Python
pytorch中的inference使用实例
2020/02/20 Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
2020/02/21 Python
Python中的__init__作用是什么
2020/06/09 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
CSS3 RGBA色彩模式使用实例讲解
2016/04/26 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
文员岗位职责
2013/11/09 职场文书
培训讲师邀请函
2014/01/10 职场文书
接待员岗位责任制
2014/02/10 职场文书
会计的岗位职责
2014/03/15 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
司法局群众路线教育实践活动整改措施思想汇报
2014/10/13 职场文书
优秀英文求职信范文
2015/03/19 职场文书
公司员工培训管理制度
2015/08/04 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书