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之眼花缭乱的运算符
Sep 14 Python
用Python编写一个简单的俄罗斯方块游戏的教程
Apr 03 Python
python构建自定义回调函数详解
Jun 20 Python
python实现词法分析器
Jan 31 Python
python执行scp命令拷贝文件及文件夹到远程主机的目录方法
Jul 08 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
python扫描线填充算法详解
Feb 19 Python
10个python3常用排序算法详细说明与实例(快速排序,冒泡排序,桶排序,基数排序,堆排序,希尔排序,归并排序,计数排序)
Mar 17 Python
Django使用list对单个或者多个字段求values值实例
Mar 31 Python
python torch.utils.data.DataLoader使用方法
Apr 02 Python
Python接口测试环境搭建过程详解
Jun 29 Python
keras topN显示,自编写代码案例
Jul 03 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程序?
2006/12/08 PHP
《PHP边学边教》(01.开篇――准备工作)
2006/12/13 PHP
Dedecms V3.1 生成HTML速度的优化办法
2007/03/18 PHP
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
PHP中PDO的事务处理分析
2016/04/07 PHP
PHP之十六个魔术方法详细介绍
2016/11/01 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
基于jQuery实现文本框缩放以及上下移动功能
2014/11/24 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
AngularJS入门示例之Hello World详解
2017/01/04 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
快速解决bootstrap下拉菜单无法隐藏的问题
2018/08/10 Javascript
ES6 proxy和reflect的使用方法与应用实例分析
2020/02/15 Javascript
微信小程序开发(三):返回上一级页面并刷新操作示例【页面栈】
2020/06/01 Javascript
vue+element table表格实现动态列筛选的示例代码
2021/01/14 Vue.js
Python中处理unchecked未捕获异常实例
2015/01/17 Python
进一步探究Python中的正则表达式
2015/04/28 Python
Python实现的文本编辑器功能示例
2017/06/30 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
QML实现钟表效果
2020/06/02 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
艺术设计专业个人求职信范文
2013/12/11 职场文书
大学生学习自我评价
2014/01/13 职场文书
无偿献血倡议书
2014/04/14 职场文书
企业文化演讲稿
2014/05/20 职场文书
规范化管理年活动总结
2014/08/29 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
见习报告格式要求
2014/11/04 职场文书
优秀班集体申报材料
2014/12/25 职场文书
公司地址变更通知
2015/04/25 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
MySQL日期时间函数知识汇总
2022/03/17 MySQL