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 24 Python
Python开发的实用计算器完整实例
May 10 Python
Python实现求解括号匹配问题的方法
Apr 17 Python
Django 多语言教程的实现(i18n)
Jul 07 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
Jul 14 Python
Python logging模块异步线程写日志实现过程解析
Jun 30 Python
Python如何爬取b站热门视频并导入Excel
Aug 10 Python
pymysql模块使用简介与示例
Nov 17 Python
python中delattr删除对象方法的代码分析
Dec 15 Python
TensorFlow的环境配置与安装方法
Feb 20 Python
Python实战之用tkinter库做一个鼠标模拟点击器
Apr 27 Python
Python爬虫之爬取最新更新的小说网站
May 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
全国FM电台频率大全 - 23 四川省
2020/03/11 无线电
PHP 和 XML: 使用expat函数(三)
2006/10/09 PHP
a标签的css样式四个状态
2021/03/09 HTML / CSS
JavaScript 模拟用户单击事件
2009/12/31 Javascript
Javascript 判断是否存在函数的方法
2013/01/03 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
分享我对JS插件开发的一些感想和心得
2016/02/04 Javascript
浅谈javascript基础之客户端事件驱动
2016/06/10 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
Javascript计算二维数组重复值示例代码
2016/12/18 Javascript
JS区分Object与Aarry的六种方法总结
2017/02/27 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
2017/06/01 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
bootstrap模态框关闭后清除模态框的数据方法
2018/08/10 Javascript
vuejs中父子组件之间通信方法实例详解
2020/01/17 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
JavaScript实现网页动态生成表格
2020/11/25 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
2016/11/02 Python
Python实现求笛卡尔乘积的方法
2017/09/16 Python
python基于itchat模块实现微信防撤回
2019/04/29 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
如何安装并在pycharm使用selenium的方法
2020/04/30 Python
PyInstaller的安装和使用的详细步骤
2020/06/02 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
加拿大最大的书店:Indigo
2017/01/01 全球购物
巴西婴儿用品商店:Bebe Store
2017/11/23 全球购物
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
PHP数据运算类型都有哪些
2013/11/05 面试题
2014乡镇“三八”国际劳动妇女节活动总结
2014/03/01 职场文书
乡镇党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
公司更名通知函
2015/04/24 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
MySQL派生表联表查询实战过程
2022/03/20 MySQL