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 16 Python
python socket 超时设置 errno 10054
Jul 01 Python
sublime text 3配置使用python操作方法
Jun 11 Python
Python基于回溯法子集树模板解决取物搭配问题实例
Sep 02 Python
用python处理图片之打开\显示\保存图像的方法
May 04 Python
Python实现绘制双柱状图并显示数值功能示例
Jun 23 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
Opencv-Python图像透视变换cv2.warpPerspective的示例
Apr 11 Python
Python实现密码薄文件读写操作
Dec 16 Python
解决Pycharm的项目目录突然消失的问题
Jan 20 Python
部署Django到阿里云服务器教程示例
Jun 03 Python
浅析Python 多行匹配模式
Jul 24 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编写PDF文档生成器
2006/10/09 PHP
php生成随机密码的三种方法小结
2010/09/04 PHP
PHP漏洞全解(详细介绍)
2012/11/13 PHP
php导出CSV抽象类实例
2014/09/24 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
2017/08/14 PHP
Jquery 基础学习笔记之文档处理
2009/05/29 Javascript
javascript Object与Function使用
2010/01/11 Javascript
formValidator3.3的ajaxValidator一些异常分析
2011/07/12 Javascript
JS中把字符转成ASCII值的函数示例代码
2013/11/21 Javascript
jQuery中animate()方法用法实例
2014/12/24 Javascript
nodejs个人博客开发第三步 载入页面
2017/04/12 NodeJs
js实现1,2,3,5数字按照概率生成
2017/09/12 Javascript
vue+node+webpack环境搭建教程
2017/11/05 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
2019/09/15 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
[02:17]《辉夜杯》TRG战队巡礼
2015/10/26 DOTA
[46:50]Liquid vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python操作csv文件实例详解
2017/07/31 Python
Python断言assert的用法代码解析
2018/02/03 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
Python 的字典(Dict)是如何存储的
2019/07/05 Python
python3.6.5基于kerberos认证的hive和hdfs连接调用方式
2020/06/06 Python
Python JSON常用编解码方法代码实例
2020/09/05 Python
CSS3制作半透明边框(Facebox)类似渐变
2012/12/09 HTML / CSS
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
高三历史教学反思
2014/01/09 职场文书
委托书范本
2014/04/02 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
社团活动总结报告
2014/06/27 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
Python 中 Shutil 模块详情
2021/11/11 Python