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 相关文章推荐
PyChar学习教程之自定义文件与代码模板详解
Jul 17 Python
Python编程argparse入门浅析
Feb 07 Python
python脚本作为Windows服务启动代码详解
Feb 11 Python
Django中使用Celery的教程详解
Aug 24 Python
浅谈python 读excel数值为浮点型的问题
Dec 25 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
Jun 02 Python
解决Keras 自定义层时遇到版本的问题
Jun 16 Python
keras CNN卷积核可视化,热度图教程
Jun 22 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
解决TensorFlow调用Keras库函数存在的问题
Jul 06 Python
浅析Python requests 模块
Oct 09 Python
pytorch训练神经网络爆内存的解决方案
May 22 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
如何在WIN2K下安装PHP4.04
2006/10/09 PHP
php学习之 认清变量的作用范围
2010/01/26 PHP
php更改目录及子目录下所有的文件后缀的代码
2010/09/24 PHP
juqery 学习之四 筛选查找
2010/11/30 Javascript
HTML5附件拖拽上传drop & google.gears实现代码
2011/04/28 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
chrome浏览器不支持onmouseleave事件的解决技巧
2013/05/31 Javascript
JQuery插件ajaxfileupload.js异步上传文件实例
2015/05/19 Javascript
js计算系统当前日期是星期几的方法
2016/07/14 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
AngularJS路由实现页面跳转实例
2017/03/03 Javascript
理解javascript async的用法
2017/08/22 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
JavaScript 中的执行上下文和执行栈实例讲解
2021/02/25 Javascript
Python中使用PDB库调试程序
2015/04/05 Python
在Docker上开始部署Python应用的教程
2015/04/17 Python
Python的“二维”字典 (two-dimension dictionary)定义与实现方法
2016/04/27 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
解决Python print 输出文本显示 gbk 编码错误问题
2018/07/13 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
Python中使用Selenium环境安装的方法步骤
2021/02/22 Python
德国家具在线:Fashion For Home
2017/03/11 全球购物
大学生个人总结的自我评价
2013/10/05 职场文书
《自然之道》教学反思
2014/02/11 职场文书
酒店端午节促销方案
2014/02/18 职场文书
家长学校实施方案
2014/03/15 职场文书
摄影展策划方案
2014/06/02 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
优秀家长自荐材料
2014/08/26 职场文书
上班迟到检讨书
2014/09/15 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
雷锋观后感
2015/06/10 职场文书
法律服务所工作总结
2015/08/10 职场文书