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 25 Python
Python发送http请求解析返回json的实例
Mar 26 Python
python 实现在Excel末尾增加新行
May 02 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
Jan 05 Python
Python3 log10()函数简单用法
Feb 19 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
在jupyter notebook 添加 conda 环境的操作详解
Apr 10 Python
基于Tensorflow一维卷积用法详解
May 22 Python
Python random模块的使用示例
Oct 10 Python
pytorch 权重weight 与 梯度grad 可视化操作
Jun 05 Python
Python中Schedule模块使用详解 周期任务神器
Apr 19 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
基于文本的留言簿
2006/10/09 PHP
11个PHP 分页脚本推荐
2011/08/15 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
php文字水印和php图片水印实现代码(二种加水印方法)
2013/12/25 PHP
getElementById在任意一款浏览器中都可以用吗的疑问回复
2007/05/13 Javascript
使用JavaScript switch case 另类写法
2010/03/14 Javascript
LazyLoad 延迟加载(按需加载)
2010/05/31 Javascript
jquery隐藏标签和显示标签的实例
2013/11/11 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
vue.js打包之后可能会遇到的坑!
2018/06/03 Javascript
JS常见构造模式实例对比分析
2018/08/27 Javascript
解决vue中监听input只能输入数字及英文或者其他情况的问题
2018/08/30 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
2019/05/14 Javascript
javascript实现简单页面倒计时
2021/03/02 Javascript
全面了解Python环境配置及项目建立
2016/06/30 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
对python pandas 画移动平均线的方法详解
2018/11/28 Python
Python之使用adb shell命令启动应用的方法详解
2019/01/07 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
Python3中configparser模块读写ini文件并解析配置的用法详解
2020/02/18 Python
python相对企业语言优势在哪
2020/06/12 Python
Python ckeditor富文本编辑器代码实例解析
2020/06/22 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
使用Python+Appuim 清理微信的方法
2021/01/26 Python
利用HTML5实现使用按钮控制背景音乐开关
2015/09/21 HTML / CSS
Java程序员面试题
2016/09/27 面试题
优秀学生干部推荐材料
2014/02/03 职场文书
优秀班集体先进事迹材料
2014/05/28 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2014年个人售房协议书
2014/10/30 职场文书
2014年英语教师工作总结
2014/12/03 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
Python实现byte转integer
2021/06/03 Python
python turtle绘图命令及案例
2021/11/23 Python