python處理LINUX的PWD文件

2021-09-06 12:47:57 字數 1758 閱讀 9092

用冒號分隔的喲。

此章後面講的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

csvimport

sysfrom optparse import

optionparser

if__name__ == '

__main__':

parser =optionparser()

parser.add_option('-f

', '

--file

', help="

csv data file")

opts, args =parser.parse_args()

ifnot

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

截圖:

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python事件處理 Python事件處理程式

我正在嘗試實現乙個排序的事件處理程式。我嘗試使用popen使用外部程序收集示例網路捕獲,並編寫乙個xml檔案。我解析xml檔案來收集我需要的資訊。但是我不想終止這個過程,直到資料報的數量達到一定限度。def getpacketcount xmlfile,count,pid while 1 try p...

Linux的訊號處理

linux為實現訊號處理提供了比較多的介面,看似紛雜,但理清訊號的關係後還是很有條理的。主要分為以下四組,怎麼傳送乙個訊號,收到乙個訊號後做什麼樣的處理,主動等待乙個訊號的發生,對特定訊號只記錄是否發生供以後再處理 四組的api如下 不考慮多執行緒 傳送訊號 kill,alarm,arise 安裝訊...