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描述器descriptor详解
Feb 03 Python
python实现网站的模拟登录
Jan 04 Python
python实现实时监控文件的方法
Aug 26 Python
Python实现脚本锁功能(同时只能执行一个脚本)
May 10 Python
Python面向对象类的继承实例详解
Jun 27 Python
python实现多层感知器
Jan 18 Python
python SQLAlchemy 中的Engine详解
Jul 04 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
Jul 23 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 Python
Django如何批量创建Model
Sep 01 Python
浅谈Python描述数据结构之KMP篇
Sep 06 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 分页分组类
2009/12/10 PHP
PHP循环语句笔记(foreach,list)
2011/11/29 PHP
php自动加载机制的深入分析
2013/06/08 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
PHP反射学习入门示例
2019/06/14 PHP
laravel 获取某个查询的查询SQL语句方法
2019/10/12 PHP
Hutia 的 JS 代码集
2006/10/24 Javascript
JS重要知识点小结
2011/11/06 Javascript
利用javascript解决图片缩放及其优化的代码
2012/05/23 Javascript
javascript ie6兼容position:fixed实现思路
2013/04/01 Javascript
JavaScript对象的property属性详解
2014/04/01 Javascript
jQuery表格插件datatables用法总结
2014/09/05 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
jquery trigger实现联动的方法
2016/02/29 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
js改变透明度实现轮播图的算法
2020/08/24 Javascript
webpack+vue.js实现组件化详解
2016/10/12 Javascript
使用Node.js实现ORM的一种思路详解(图文)
2017/10/24 Javascript
详解vue 数据传递的方法
2018/04/19 Javascript
javascript判断一个变量是数组还是对象
2019/04/10 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
javascript开发实现贪吃蛇游戏
2020/07/31 Javascript
JS实现百度搜索框
2021/02/25 Javascript
用python实现批量重命名文件的代码
2012/05/25 Python
python局部赋值的规则
2013/03/07 Python
python的绘图工具matplotlib使用实例
2014/07/03 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
linux 下selenium chrome使用详解
2020/04/02 Python
20行Python代码实现视频字符化功能
2020/04/13 Python
日本民宿预约平台:STAY JAPAN
2017/07/01 全球购物
汉语言文学毕业生求职信
2013/10/01 职场文书
应届毕业生自荐书
2014/06/18 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
2015个人年度工作总结范文
2015/05/28 职场文书
销售会议开幕词
2016/03/04 职场文书