python处理LINUX的PWD文档

用冒号分隔的哟。

此章后面讲的JSON,配置文件读取,原理应该一样吧,只是要用合适的包去处理吧。

CSV文档是用CSV包处理的。

文档:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:33:33:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh

代码:

import csv
import sys
from optparse import OptionParser

if __name__ == '__main__':
    parser = OptionParser()
    parser.add_option('-f', '--file', help="CSV Data File")
    opts, args = parser.parse_args()
    if not opts.file:
        parser.error('File name not exist.')
    #Create a dict reader from an open file
        #handle and iterate through rows.
    csv.register_dialect('passwd', delimiter=':',quoting=csv.QUOTE_NONE)
    dict_key = ('login','pwd','uid','gid','comment','home','shell')
    reader = csv.DictReader(open(opts.file,'rU'),fieldnames=dict_key,dialect='passwd')
    for user in reader:
        print ('%s logs in with %s' % \
               (user['login'], user['shell']))
    csv.register_dialect

截图:

时间: 2025-01-01 01:13:51

python处理LINUX的PWD文档的相关文章

LFCS 系列第十二讲:如何使用 Linux 的帮助文档和工具

由于 2016 年 2 月 2 号开始启用了新的 LFCS 考试要求, 我们在 LFCS 系列系列添加了一些必要的内容.为了考试的需要,我们强烈建议你看一下LFCE 系列. LFCS: 了解 Linux 的帮助文档和工具 当你习惯了在命令行下进行工作,你会发现 Linux 已经有了许多使用和配置 Linux 系统所需要的文档. 另一个你必须熟悉命令行帮助工具的理由是,在LFCS 和 LFCE 考试中,它们是你唯一能够使用的信息来源,没有互联网也没有百度.你只能依靠你自己和命令行. 基于上面的理由

《像计算机科学家一样思考Python》——4.9 文档字符串

4.9 文档字符串 文档字符串(docstring)是在函数开头用来解释其接口的字符串(doc是"文档"documentation的缩写).下面是一个示例: def polyline(t, n, length, angle): """Draws n line segments with the given length and angle (in degrees) between them. t is a turtle. """

使用sftp从获取 linux 下的文档到windows

sftp> help Available commands: ascii                          Set transfer mode to ASCII binary                         Set transfer mode to binary cd path                        Change remote directory to 'path' lcd path                       Change

Python 处理EXCEL的CSV文档分列求SUM

相对于导出EXCEL文件,PYTHON计算更为实时. import csv import sys from optparse import OptionParser def calculate_profit(day): return float(day['Revenue']) - float(day['Cost']) if __name__ == '__main__': parser = OptionParser() parser.add_option('-f', '--file', help=

《UNIX/Linux 系统管理技术手册(第四版)》——1.10 其他的权威文档

1.10 其他的权威文档 UNIX/Linux 系统管理技术手册(第四版) 手册页仅仅是官方文档中的很小一部分.遗憾的是,其余更大一部分的文档都散布在Web上. 1.10.1 针对系统的专门指南 大多数发行商都有自己专门的文档项目,许多发行商还出整本书那样的手册.现在,一般都能找到联机形式的手册,而不是纸质的书.文档的规模和质量则大有不同,但是大多数发行商都至少提供一份系统管理指南和一份安装指南.表1.4给出了在哪儿可以找到我们示例系统的文档. 在这其间最出众的是IBM,IBM针对系统管理的各方

Oracle 11g 单实例安装文档

这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整理在此.仅供参考!   1:下载对应平台的ORACLE 11g安装介质 安装ORACLE,首先要获取安装介质,大部分情况手头都有相关版本的安装介质.如果你手头没有安装介质,那么可以从下面链接获取对应平台的ORACLE安装介质. http://www.oracle.com/technetwork/da

Python文档生成工具pydoc使用介绍

  这篇文章主要介绍了Python文档生成工具pydoc使用介绍,本文讲解了基本用法.获取帮助的方法.生成的文档效果图等内容,需要的朋友可以参考下 在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介绍pydoc. pydoc是Python自带的模块,主要用于从python模块中自动生成文档,这些文档可以基于文本呈现的.也可以生成WEB 页面的,还可

linux shell sed awk-linux shell替换(通过变量修改文档值)

问题描述 linux shell替换(通过变量修改文档值) 现有变量VAR= 1, 2,3,4为一个数组,去依次修改文档 例如: 1 2 3 4 5 6 7 8 9 中第二行第三列的数值,得到4个文档分别为: 1 2 3 1 2 3 1 2 3 1 2 3 4 5 1 4 5 2 4 5 3 4 5 4 7 8 9 7 8 9 7 8 9 7 8 9 该怎么用脚本实现?请大神指教 解决方案 这种用python脚本来做更容易点.

《Python Cookbook(第2版)中文版》——1.25 将HTML文档转化为文本显示到UNIX终端上

1.25 将HTML文档转化为文本显示到UNIX终端上 任务 需要将HTML文档中的文本展示在UNIX终端上,同时还要支持粗体和下划线的显示. 解决方案 最简单的方法是写一个过滤的脚本,从标准输入接收HTML,将输出文本和终端控制序列打印到标准的输出上.由于本节的问题只针对UNIX,我们可以借助Python标准库的os模块提供的popen函数,通过UNIX的命令tput获取所需的终端控制序列: #!/usr/bin/env python import sys, os, htmllib, form