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实现发送和获取手机短信验证码
Jan 15 Python
Python实现TCP协议下的端口映射功能的脚本程序示例
Jun 14 Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 Python
Python爬虫实例_城市公交网络站点数据的爬取方法
Jan 10 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
Python基于生成器迭代实现的八皇后问题示例
May 23 Python
详解将Django部署到Centos7全攻略
Sep 26 Python
python3实现mysql导出excel的方法
Jul 31 Python
浅谈python中频繁的print到底能浪费多长时间
Feb 21 Python
python之语音识别speech模块
Sep 09 Python
Python经典五人分鱼实例讲解
Jan 04 Python
用Python编写简单的gRPC服务的详细过程
Jul 04 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验证是否是md5编码的简单代码
2014/04/01 PHP
php集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
ThinkPHP通过AJAX返回JSON的两种实现方法
2014/12/18 PHP
PHP获取音频文件的相关信息
2015/06/22 PHP
JavaScript加强之自定义callback示例
2013/09/21 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
Backbone.js框架中简单的View视图编写学习笔记
2016/02/14 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
详解基于mpvue的小程序markdown适配解决方案
2018/05/08 Javascript
Vue不能检测到Object/Array更新的情况的解决
2018/06/26 Javascript
JavaScript错误处理操作实例详解
2019/01/04 Javascript
vue实现滑动切换效果(仅在手机模式下可用)
2020/06/29 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
整理 node-sass 安装失败的原因及解决办法(小结)
2020/02/19 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
[29:16]完美世界DOTA2联赛决赛日 Inki vs LBZS 第三场 11.08
2020/11/10 DOTA
常用python数据类型转换函数总结
2014/03/11 Python
python微信公众号开发简单流程
2018/03/23 Python
python3使用matplotlib绘制条形图
2020/03/25 Python
Django框架中间件(Middleware)用法实例分析
2019/05/24 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
2020/03/07 Python
基于FME使用Python过程图解
2020/05/13 Python
Python如何实现远程方法调用
2020/08/07 Python
HTML5自定义data-* data(obj)属性和jquery的data()方法的使用
2012/12/13 HTML / CSS
哥德堡通行证:Gothenburg Pass
2019/12/09 全球购物
物业保安主管岗位职责
2013/12/25 职场文书
创意婚礼策划方案
2014/05/18 职场文书
大学生个人学习总结
2015/02/15 职场文书
结婚仪式主持词
2015/06/29 职场文书
2016年大学迎新工作总结
2015/10/14 职场文书
员工给公司的建议书
2019/06/24 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python