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语言实现机器学习的K-近邻算法
Jun 11 Python
简单上手Python中装饰器的使用
Jul 12 Python
玩转python爬虫之URLError异常处理
Feb 17 Python
python中异常报错处理方法汇总
Nov 20 Python
Python自动化运维之IP地址处理模块详解
Dec 10 Python
python opencv调用笔记本摄像头
Aug 28 Python
Python底层封装实现方法详解
Jan 22 Python
Python面向对象中类(class)的简单理解与用法分析
Feb 21 Python
PyQt5+Pycharm安装和配置图文教程详解
Mar 24 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
python中time包实例详解
Feb 02 Python
python实战之90行代码写个猜数字游戏
Apr 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
php简单实现MVC
2015/02/05 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
PHP树-不需要递归的实现方法
2016/06/21 PHP
php PDO异常处理详解
2016/11/20 PHP
php删除txt文件指定行及按行读取txt文档数据的方法
2017/01/30 PHP
Mac下php 5升级到php 7的步骤详解
2017/04/26 PHP
用javascript实现的仿Flash广告图片轮换效果
2007/04/24 Javascript
JavaScript格式化数字的函数代码
2010/11/30 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
JavaScript实现全选取消效果
2017/12/14 Javascript
node puppeteer(headless chrome)实现网站登录
2018/05/09 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
新手入门js闭包学习过程解析
2019/10/08 Javascript
自己使用总结Python程序代码片段
2015/06/02 Python
python数据结构链表之单向链表(实例讲解)
2017/07/25 Python
python绘制条形图方法代码详解
2017/12/19 Python
TensorFlow实现随机训练和批量训练的方法
2018/04/28 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
Python使用gRPC传输协议教程
2018/10/16 Python
使用Python实现微信提醒备忘录功能
2018/12/04 Python
使用python3实现操作串口详解
2019/01/01 Python
windows下Python安装、使用教程和Notepad++的使用教程
2019/10/06 Python
python实现的Iou与Giou代码
2020/01/18 Python
Tensorflow限制CPU个数实例
2020/02/06 Python
详解Pycharm与anaconda安装配置指南
2020/08/25 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
前台文员岗位职责
2013/12/28 职场文书
员工安全生产承诺书
2014/05/22 职场文书
海上钢琴师观后感
2015/06/03 职场文书
运动会800米赞词
2015/07/22 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python