热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python中的grp模块

Python 中的 grp 模块原文:https://www.geeksforgeeks.org/grp-module-in-p

Python 中的 grp 模块

原文:https://www.geeksforgeeks.org/grp-module-in-python/

Python 中的***grp module***提供了对 Unix 组数据库的访问。 Unix 组数据库的每个条目被报告为一个类似元组的对象,其属性类似于组结构的成员,该组结构在 头中定义。

以下是元组状对象的属性,表示存储在 Unix 组数据库中的条目:































指数属性表示
0gr_name团体名称
1gr_passwd该(加密)组密码;常空
2gr_gid数字组标识
3gr_mem所有群成员的用户名

注意: ***grp module***是 UNIX 特有的服务。因此,本模块的所有方法仅在 UNIX 版本上可用。

Python 中的***grp.getgrnam()***定义了以下方法:


  • ***grp.getgrgid() method***

  • ***grp.getgrnam() method***

  • ***grp.getgrall() method***


*grp.getgrgid() method -*

Python 中的***grp.getgrgid()***方法用于获取存储在 UNIX 组数据库中的指定组 id 的条目。键错误如果指定的组 id 无效或找不到与之关联的条目,则会引发异常。

语法: grp.getgrgid(gid)

参数:
gid: 表示需要组数据库条目的组 id 的整数值。

返回类型:这个方法返回一个类‘grp . struct _ group’的类似元组的对象,它代表与指定组 id (gid)相关联的组数据库条目。

代码:使用***grp.getgrgid()***方法

# Python program to explain grp.getgrgid() method
# importing grp module 
import grp
# Group id
gid = 1000
# Get the group 
# database entry for the
# specified group id
# using grp.getgrgid() method
entry = grp.getgrgid(gid)
# Print the retrieved entry
print("Group database entry for group id % s:" % gid)
print(entry)
# Group id
gid = 0
# Get the group 
# database entry for the
# specified group id
# using grp.getgrgid() method
entry = grp.getgrgid(gid)
# Print the retrieved entry
print("\nGroup database entry for group id % s:" % gid)
print(entry)

Output:

组 id 1000 的组数据库条目:
grp . struct _ group(gr _ name = ' ihritik ',gr_passwd='x ',gr_gid=1000,gr_mem=[])

组 id 0 的组数据库条目:
grp . struct _ group(gr _ name = ' root ',gr_passwd='x ',gr_gid=0,gr_mem=[])


*grp.getgrnam() method -*

***grp.getgrnam()***Python 中的方法用于获取存储在 UNIX 组数据库中的指定组名的条目。键错误如果指定的组名无效或找不到与之关联的条目,则会引发异常。

语法: grp.getgrnam(名称)

参数:
名称:表示需要组数据库条目的组名的字符串值。

返回类型:这个方法返回一个类‘grp . struct _ group’的类似元组的对象,它代表与指定组名相关联的组数据库条目。

代码:使用***grp.getgrnam()***方法

# Python program to explain grp.getgrnam() method
# importing grp module 
import grp
# Group name
name = "ihritik"
# Get the group 
# database entry for the
# specified group name
# using grp.getgrnam() method
entry = grp.getgrnam(name)
# Print the retrieved entry
print("Group database entry for the group name '%s':" %name)
print(entry)
# Group name
name = "root"
# Get the group 
# database entry for the
# specified group name
# using grp.getgrnam() method
entry = grp.getgrnam(name)
# Print the retrieved entry
print("\nGroup database entry for the group name '% s':" % name)
print(entry)

Output:

组名“ihritik”的组数据库条目:
grp . struct _ group(gr _ name =“ihritik”,gr _ passwd =“x”,gr_gid=1000,gr_mem=[])

组名“root”的组数据库条目:
grp . struct _ group(gr _ name =“root”,gr _ passwd =“x”,gr_gid=0,gr_mem=[])


*grp.getgrall() method -*

***grp.getgrall()***Python 中的方法用于获取存储在 UNIX 组数据库中的所有可用条目。

语法: grp.getgrall()

参数:不需要参数。

返回类型:这个方法返回一个类‘grp . struct _ group’的类似元组的对象列表,其元素代表组数据库条目。

代码:使用***grp.getgrall()***方法

# Python program to explain grp.getgrall() method
# importing grp module 
import grp
# Get the all available group 
# database entries
# using grp.getgrall() method
entries = grp.getgrall()
# Print the retrieved entry
print("Group database entries:")
for row in entries:
    print(row)

Output:

Group database entries:
grp.struct_group(gr_name=’root’, gr_passwd=’x’, gr_gid=0, gr_mem=[])
grp.struct_group(gr_name=’daemon’, gr_passwd=’x’, gr_gid=1, gr_mem=[])
grp.struct_group(gr_name=’bin’, gr_passwd=’x’, gr_gid=2, gr_mem=[])
grp.struct_group(gr_name=’sys’, gr_passwd=’x’, gr_gid=3, gr_mem=[])
grp.struct_group(gr_name=’adm’, gr_passwd=’x’, gr_gid=4, gr_mem=[‘syslog’, ‘ihritik’])
grp.struct_group(gr_name=’tty’, gr_passwd=’x’, gr_gid=5, gr_mem=[])
grp.struct_group(gr_name=’disk’, gr_passwd=’x’, gr_gid=6, gr_mem=[])
grp.struct_group(gr_name=’lp’, gr_passwd=’x’, gr_gid=7, gr_mem=[])
grp.struct_group(gr_name=’mail’, gr_passwd=’x’, gr_gid=8, gr_mem=[])
grp.struct_group(gr_name=’news’, gr_passwd=’x’, gr_gid=9, gr_mem=[])
grp.struct_group(gr_name=’uucp’, gr_passwd=’x’, gr_gid=10, gr_mem=[])
grp.struct_group(gr_name=’man’, gr_passwd=’x’, gr_gid=12, gr_mem=[])
grp.struct_group(gr_name=’proxy’, gr_passwd=’x’, gr_gid=13, gr_mem=[])
grp.struct_group(gr_name=’kmem’, gr_passwd=’x’, gr_gid=15, gr_mem=[])
grp.struct_group(gr_name=’dialout’, gr_passwd=’x’, gr_gid=20, gr_mem=[])
grp.struct_group(gr_name=’fax’, gr_passwd=’x’, gr_gid=21, gr_mem=[])
grp.struct_group(gr_name=’voice’, gr_passwd=’x’, gr_gid=22, gr_mem=[])
grp.struct_group(gr_name=’cdrom’, gr_passwd=’x’, gr_gid=24, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’floppy’, gr_passwd=’x’, gr_gid=25, gr_mem=[])
grp.struct_group(gr_name=’tape’, gr_passwd=’x’, gr_gid=26, gr_mem=[])
grp.struct_group(gr_name=’sudo’, gr_passwd=’x’, gr_gid=27, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’audio’, gr_passwd=’x’, gr_gid=29, gr_mem=[‘pulse’])
grp.struct_group(gr_name=’dip’, gr_passwd=’x’, gr_gid=30, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’www-data’, gr_passwd=’x’, gr_gid=33, gr_mem=[])
grp.struct_group(gr_name=’backup’, gr_passwd=’x’, gr_gid=34, gr_mem=[])
grp.struct_group(gr_name=’operator’, gr_passwd=’x’, gr_gid=37, gr_mem=[])
grp.struct_group(gr_name=’list’, gr_passwd=’x’, gr_gid=38, gr_mem=[])
grp.struct_group(gr_name=’irc’, gr_passwd=’x’, gr_gid=39, gr_mem=[])
grp.struct_group(gr_name=’src’, gr_passwd=’x’, gr_gid=40, gr_mem=[])
grp.struct_group(gr_name=’gnats’, gr_passwd=’x’, gr_gid=41, gr_mem=[])
grp.struct_group(gr_name=’shadow’, gr_passwd=’x’, gr_gid=42, gr_mem=[])
grp.struct_group(gr_name=’utmp’, gr_passwd=’x’, gr_gid=43, gr_mem=[])
grp.struct_group(gr_name=’video’, gr_passwd=’x’, gr_gid=44, gr_mem=[])
grp.struct_group(gr_name=’sasl’, gr_passwd=’x’, gr_gid=45, gr_mem=[])
grp.struct_group(gr_name=’plugdev’, gr_passwd=’x’, gr_gid=46, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’staff’, gr_passwd=’x’, gr_gid=50, gr_mem=[])
grp.struct_group(gr_name=’games’, gr_passwd=’x’, gr_gid=60, gr_mem=[])
grp.struct_group(gr_name=’users’, gr_passwd=’x’, gr_gid=100, gr_mem=[])
grp.struct_group(gr_name=’nogroup’, gr_passwd=’x’, gr_gid=65534, gr_mem=[])
grp.struct_group(gr_name=’systemd-journal’, gr_passwd=’x’, gr_gid=101, gr_mem=[])
grp.struct_group(gr_name=’systemd-timesync’, gr_passwd=’x’, gr_gid=102, gr_mem=[])
grp.struct_group(gr_name=’systemd-network’, gr_passwd=’x’, gr_gid=103, gr_mem=[])
grp.struct_group(gr_name=’systemd-resolve’, gr_passwd=’x’, gr_gid=104, gr_mem=[])
grp.struct_group(gr_name=’systemd-bus-proxy’, gr_passwd=’x’, gr_gid=105, gr_mem=[])
grp.struct_group(gr_name=’input’, gr_passwd=’x’, gr_gid=106, gr_mem=[])
grp.struct_group(gr_name=’crontab’, gr_passwd=’x’, gr_gid=107, gr_mem=[])
grp.struct_group(gr_name=’syslog’, gr_passwd=’x’, gr_gid=108, gr_mem=[])
grp.struct_group(gr_name=’messagebus’, gr_passwd=’x’, gr_gid=109, gr_mem=[])
grp.struct_group(gr_name=’netdev’, gr_passwd=’x’, gr_gid=110, gr_mem=[])
grp.struct_group(gr_name=’mlocate’, gr_passwd=’x’, gr_gid=111, gr_mem=[])
grp.struct_group(gr_name=’ssl-cert’, gr_passwd=’x’, gr_gid=112, gr_mem=[])
grp.struct_group(gr_name=’uuidd’, gr_passwd=’x’, gr_gid=113, gr_mem=[])
grp.struct_group(gr_name=’rtkit’, gr_passwd=’x’, gr_gid=114, gr_mem=[])
grp.struct_group(gr_name=’avahi-autoipd’, gr_passwd=’x’, gr_gid=115, gr_mem=[])
grp.struct_group(gr_name=’bluetooth’, gr_passwd=’x’, gr_gid=116, gr_mem=[])
grp.struct_group(gr_name=’ssh’, gr_passwd=’x’, gr_gid=117, gr_mem=[])
grp.struct_group(gr_name=’lpadmin’, gr_passwd=’x’, gr_gid=118, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’whoopsie’, gr_passwd=’x’, gr_gid=119, gr_mem=[])
grp.struct_group(gr_name=’avahi’, gr_passwd=’x’, gr_gid=120, gr_mem=[])
grp.struct_group(gr_name=’scanner’, gr_passwd=’x’, gr_gid=121, gr_mem=[‘saned’])
grp.struct_group(gr_name=’saned’, gr_passwd=’x’, gr_gid=122, gr_mem=[])
grp.struct_group(gr_name=’pulse’, gr_passwd=’x’, gr_gid=123, gr_mem=[])
grp.struct_group(gr_name=’pulse-access’, gr_passwd=’x’, gr_gid=124, gr_mem=[])
grp.struct_group(gr_name=’colord’, gr_passwd=’x’, gr_gid=125, gr_mem=[])
grp.struct_group(gr_name=’geoclue’, gr_passwd=’x’, gr_gid=126, gr_mem=[])
grp.struct_group(gr_name=’gdm’, gr_passwd=’x’, gr_gid=127, gr_mem=[])
grp.struct_group(gr_name=’ihritik’, gr_passwd=’x’, gr_gid=1000, gr_mem=[])
grp.struct_group(gr_name=’sambashare’, gr_passwd=’x’, gr_gid=128, gr_mem=[‘ihritik’])
grp.struct_group(gr_name=’hadoop’, gr_passwd=’x’, gr_gid=1001, gr_mem=[‘master’])
grp.struct_group(gr_name=’master’, gr_passwd=’x’, gr_gid=1002, gr_mem=[])

推荐阅读
  • 【shell】网络处理:判断IP是否在网段、两个ip是否同网段、IP地址范围、网段包含关系
    本文介绍了使用shell脚本判断IP是否在同一网段、判断IP地址是否在某个范围内、计算IP地址范围、判断网段之间的包含关系的方法和原理。通过对IP和掩码进行与计算,可以判断两个IP是否在同一网段。同时,还提供了一段用于验证IP地址的正则表达式和判断特殊IP地址的方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 基于词向量计算文本相似度1.测试数据:链接:https:pan.baidu.coms1fXJjcujAmAwTfsuTg2CbWA提取码:f4vx2.实验代码:imp ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • 本文介绍了开关稳压器设计中PCB布局布线的重要性,并提供了相应的准则。开关稳压器作为一种高效的电源,逐渐取代了线性稳压器。开关模式电源的工作原理是通过一定的开启时间和关闭时间来实现电压转换。开关频率并不是影响系统的最大因素,而开关转换的速度才是关键。在系统噪声方面,开关频率或其谐波可能会对系统产生影响。严格遵守PCB布局布线的准则,可以将开关模式电源的相关问题降到最小。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文介绍了在交换型网络环境下使用嗅探器ARPSniffer的方法,包括检测嗅探环境、设置嗅探的网卡和启动自动路由功能等步骤。同时指出ARPSniffer也可以在非交换型网络环境下使用来嗅探各种网络信息。 ... [详细]
  • Ansem 最新雄文:软着陆后,加密市场下阶段趋势与核心叙事
    市场最糟糕的时候已经过去,以太坊合并前不太会看到新的低点;但仍需来自关注宏观市场的不确定风险。撰文:Ansem ... [详细]
  • docker安装到基本使用
    记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
  • python3.7 安装pip3_python3的pip3安装
    ---恢复内容开始---pip3的安装需要对应一整套python的编译工具库,所以安装好的pip3是这个样子:inearAi:~$pip3-Vpi ... [详细]
author-avatar
爱是一道菜lzb
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有