IPython下字符串的简单处理 - 千月的python linux 系统管理指南学习笔记(8)

这里仅仅对字符串进行简单处理,实现 shell 一样的功能。
复杂的处理方法,会在后面章节细说。

如果需要在 shell 下得到 Debian-+ 这个特殊用户拥有进程的 PID 方法如下。


我们使用了系统命令 ps -ef 结合了 awk 的方法得到。
有的朋友可能刚接触awk,简单解释下这句话的用法
'{ if ($1=="Debin-+") print $2 }'
从上往下单行读入。
如果该行第一列(默认制表符或者空格分割) 为Debin-+ 时,输出该行第2列的值 (print $2)。
第一列是用户名,第2列是 PID 对照这看下很简单的。


我们回到 IPython 环境。之后开始真正的使用 python的一些代码了。我会用 特殊颜色标识
先看一个例子
列表对象.grep('关键字') #查找关键字,按行输出

因为ps aux 输出是一个类似列表的结构,在 python 内建结构时归为列表类。
grep() 可以查找关键字。按行输出, 有点像 bash 下的 grep 命令
列表对象.grep('关键字',prune=True ) #查找关键字,按行输出 匹配的行
参数 prune=True #将匹配的任何记录都删掉。

我们希望输出所有 开始时间不是 17:45 的进程 (start 列不是 17:45)
因为我们时 17:45 开机的所以大部分系统进程都是 17:45

下面开始再次对列进行过滤
列表对象.fields( 列 , [列] ) #对列进行过滤,数字写第几列就可以。0起始。

因为 grep() 输出的结果也是列表对象,因此可以联合使用,这非常常见。

我们再进一步,我们仅需要PID,但是又不希望一个ID占一行。
对象.s #以标准字符格式输出。


再看一看对目录的判定处理。同样使用 grep() 来过滤
os.path.isdir #判定是否是目录
os.path.isfile #判定是否是文件

不多解释了。大家应该都已经看明白了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值