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入门篇之正则表达式
Oct 20 Python
Python的Flask框架中web表单的教程
Apr 20 Python
python机器学习之神经网络(二)
Dec 20 Python
python数据分析数据标准化及离散化详解
Feb 26 Python
用pandas按列合并两个文件的实例
Apr 12 Python
python 读写文件,按行修改文件的方法
Jul 12 Python
python查看列的唯一值方法
Jul 17 Python
python实现自动登录
Sep 17 Python
PyQt5的相对布局管理的实现
Aug 07 Python
Python爬虫入门教程02之笔趣阁小说爬取
Jan 24 Python
python模块与C和C++动态库相互调用实现过程示例
Nov 02 Python
Python matplotlib绘制雷达图
Apr 13 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中使用Oracle数据库(1)
2006/10/09 PHP
Yii2超好用的日期和时间组件(值得收藏)
2016/05/05 PHP
pjblog修改技巧汇总
2007/03/12 Javascript
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
2014/09/01 Javascript
Jquery动态替换div内容及动态展示的方法
2015/01/23 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
js实现的二级横向菜单条实例
2015/08/22 Javascript
JS+DIV+CSS排版布局实现美观的选项卡效果
2015/10/10 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
浅谈Vue.js中如何实现自定义下拉菜单指令
2019/01/06 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
关于javascript中的promise的用法和注意事项(推荐)
2021/01/15 Javascript
如何在 Vue 表单中处理图片
2021/01/26 Vue.js
Python笔记(叁)继续学习
2012/10/24 Python
详解Python中for循环的使用
2015/04/14 Python
简单理解Python中的装饰器
2015/07/31 Python
python中hashlib模块用法示例
2017/10/30 Python
Python实现的求解最小公倍数算法示例
2018/05/03 Python
tensorflow: 查看 tensor详细数值方法
2018/06/13 Python
python ftplib模块使用代码实例
2019/12/31 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
有机婴儿毛毯和衣服:Monica + Andy
2020/03/01 全球购物
Shell如何接收变量输入
2016/08/06 面试题
走群众路线学习心得体会
2014/10/31 职场文书
爱国主题班会教案
2015/08/14 职场文书
运动会口号霸气押韵
2015/12/24 职场文书
2016年“我们的节日·端午节”活动总结
2016/04/01 职场文书
python数据库批量插入数据的实现(executemany的使用)
2021/04/30 Python
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript