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入门篇之字典
Oct 17 Python
Windows和Linux下使用Python访问SqlServer的方法介绍
Mar 10 Python
Python中exit、return、sys.exit()等使用实例和区别
May 28 Python
基于python元祖与字典与集合的粗浅认识
Aug 23 Python
Python决策树分类算法学习
Dec 22 Python
python cumsum函数的具体使用
Jul 29 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
python程序输出无内容的解决方式
Apr 09 Python
Python使用Paramiko控制liunx第三方库
May 20 Python
Python爬虫设置ip代理过程解析
Jul 20 Python
Python 解析库json及jsonpath pickle的实现
Aug 17 Python
pytorch 如何把图像数据集进行划分成train,test和val
May 31 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
基于mysql的bbs设计(二)
2006/10/09 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
2011/03/28 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
php文件读取方法实例分析
2015/06/20 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
用javascript获取textarea中的光标位置
2008/05/06 Javascript
JavaScript 一道字符串分解的题目
2011/08/03 Javascript
JS构造函数与原型prototype的区别介绍
2016/07/04 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
概述VUE2.0不可忽视的很多变化
2016/09/25 Javascript
AngularJS 异步解决实现方法
2017/06/12 Javascript
浅析Javascript中双等号(==)隐性转换机制
2017/10/27 Javascript
vue iview实现动态路由和权限验证功能
2018/04/17 Javascript
浅谈javascript中的prototype和__proto__的理解
2019/04/07 Javascript
微信小程序单选radio及多选checkbox按钮用法示例
2019/04/30 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
js中!和!!的区别与用法
2020/05/09 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
python发布模块的步骤分享
2014/02/21 Python
python中sys.argv参数用法实例分析
2015/05/20 Python
Python实现KNN邻近算法
2021/01/28 Python
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
详解python中递归函数
2019/04/16 Python
python pygame实现方向键控制小球
2019/05/17 Python
什么是Python中的顺序表
2020/06/02 Python
公关关系专员的自我评价分享
2013/11/20 职场文书
成功的酒店创业计划书
2013/12/27 职场文书
担保书怎么写
2014/04/01 职场文书
学校安全责任书
2014/04/14 职场文书
中学生爱国演讲稿
2014/09/05 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
2015年高校图书馆工作总结
2015/04/30 职场文书
幼儿园教学反思范文
2016/03/02 职场文书
vue 实现弹窗关闭后刷新效果
2022/04/08 Vue.js
MySQL数据库表约束讲解
2022/06/21 MySQL