+ -
当前位置:首页 → 问答吧 → perl的一句话代码用PYTHON怎么写?

perl的一句话代码用PYTHON怎么写?

时间:2010-10-24

来源:互联网

perl -F: -ane 'print if not $F[2];' /etc/passwd

作者: Mylib   发布时间: 2010-10-24

本帖最后由 shaohao 于 2010-10-24 18:55 编辑

Perl的解释器直接支持loop操作,这个Python没有,但是还是可以实现的。
同样的功能,Perl写法虽然简单,但是不好理解,相对而言,Python的更好理解。
我用Python3:
python -c "[print(l) for l in open('/etc/passwd').readlines() if not int(l.split(':')[2])]"
没有考虑文件关闭,不过关系不大。

或者调用fileinput模块:
python -c "import fileinput; [print(l) for l in fileinput.input('/etc/passwd') if not int(l.split(':')[2])]"
不需要考虑文件关闭。

作者: shaohao   发布时间: 2010-10-24