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 相关文章推荐
pyqt4教程之实现windows窗口小示例分享
Mar 07 Python
python制作websocket服务器实例分享
Nov 20 Python
详解Python正则表达式re模块
Mar 19 Python
详解python之heapq模块及排序操作
Apr 04 Python
用vue.js组件模拟v-model指令实例方法
Jul 05 Python
python中time库的实例使用方法
Oct 31 Python
Django模板标签{% for %}循环,获取制定条数据实例
May 14 Python
python中Ansible模块的Playbook的具体使用
May 28 Python
keras 自定义loss model.add_loss的使用详解
Jun 22 Python
使用keras框架cnn+ctc_loss识别不定长字符图片操作
Jun 29 Python
pytorch 使用半精度模型部署的操作
May 24 Python
python 对图片进行简单的处理
Jun 23 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
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
2011/12/19 PHP
深入解析PHP中的(伪)多线程与多进程
2013/07/01 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
解决cPanel无法安装php5.2.17
2014/06/22 PHP
大家未必知道的Js技巧收藏
2008/04/07 Javascript
Script的加载方法小结
2011/01/12 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
bootstrap table实例详解
2017/01/06 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
详解在vue-cli中使用graphql即vue-apollo的用法
2018/09/08 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
jQuery带控制按钮轮播图插件
2020/07/31 jQuery
Vue axios获取token临时令牌封装案例
2020/09/11 Javascript
python判断端口是否打开的实现代码
2013/02/10 Python
Python Paramiko模块的使用实际案例
2018/02/01 Python
根据DataFrame某一列的值来选择具体的某一行方法
2018/07/03 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
python中字典按键或键值排序的实现代码
2019/08/27 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
天巡全球:Skyscanner Global
2017/06/20 全球购物
教师岗位职责范本
2013/12/29 职场文书
道歉情书大全
2015/05/12 职场文书
导游词之潮音寺
2019/09/26 职场文书
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
QT与javascript交互数据的实现
2021/05/26 Javascript
SpringBoot项目部署到阿里云服务器的实现步骤
2022/06/28 Java/Android