当前位置: 主页 > 脚本 > Python >

Python关于strip,lstrip,rstrip的使用

时间:2013-06-03 00:09来源:www.linuxyw.com 作者:admin 点击:
以下这个bb.sh文件内容: [root@DRFDAI~]#catbb.sh #!/bin/bash #Email:63780668@qq.com# #Date:2013-0309# forain$(seq19) do echo forbin$(seq19) do if[${a}-ge${b}] then echo-n${b}x${a}=$((${a}*${b})) fi done done echo 用python查看这个
欢迎大家分享自己的文档,请点击查阅:分享方法,Linux系统运维
如果你喜欢这文章,可以点击文章结尾处百度分享,分享到你的各种社区收藏,或推荐给朋友……


以下这个bb.sh文件内容:
[root@DRFDAI ~]# cat bb.sh
#!/bin/bash
#Email:63780668@qq.com#
#Date:2013-0309#

for a in $(seq 1 9)
do
    echo ""
    for b in $(seq 1 9)
    do
        if [ ${a} -ge ${b} ]
        then
            echo -n "${b} x ${a} = $((${a} * ${b})) "
        fi
    done
done
echo ""


用python查看这个文件内容:
先写一个python脚本
#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i
aa.close()

执行cc.py,看看显示内容:
[root@DRFDAI ~]# python cc.py
#!/bin/bash

#Email:63780668@qq.com#

#Date:2013-0309#



for a in $(seq 1 9)

do

    echo ""

    for b in $(seq 1 9)

    do

        if [ ${a} -ge ${b} ]

        then

            echo -n "${b} x ${a} = $((${a} * ${b})) "

        fi

    done

done

echo ""

很明显每行后面都被添加了空行,那我们现在要清除这些空行,查看内容的时候,不会添加这空行,用rstrip即可解决,我们加上.rstrip(‘\n’),\n是换行的意思。
#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i.rstrip('\n')
aa.close()

执行代码显示,换行符给去掉了。
[root@DRFDAI ~]# python cc.py
#!/bin/bash
#Email:63780668@qq.com#
#Date:2013-0309#

for a in $(seq 1 9)
do
    echo ""
    for b in $(seq 1 9)
    do
        if [ ${a} -ge ${b} ]
        then
            echo -n "${b} x ${a} = $((${a} * ${b})) "
        fi
    done
done
echo ""

那lstrip和rstrip又是什么意思?
lstrip就是去掉左边字符 (left左的意思,取前一个字母l代表左)
rstrip就是去掉右边字符 (right右的意思,取前一个字母 r代表右)

下面我们要去除bb.sh前3行前面的#号,那我们可以这样:
[root@DRFDAI ~]# vim cc.py      

#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i.rstrip('\n').lstrip('#')
aa.close()
查看到的内容:
[root@DRFDAI ~]# python cc.py
!/bin/bash
Email:63780668@qq.com#
Date:2013-0309#

for a in $(seq 1 9)
do
    echo ""
    for b in $(seq 1 9)
    do
        if [ ${a} -ge ${b} ]
        then
            echo -n "${b} x ${a} = $((${a} * ${b})) "
        fi
    done
done
echo ""

strip是去除首尾两边的内容,如:
#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i.rstrip('\n').strip('#')
aa.close()

显示内容:
[root@DRFDAI ~]# python cc.py
!/bin/bash
Email:63780668@qq.com
Date:2013-0309

for a in $(seq 1 9)
do
    echo ""
    for b in $(seq 1 9)
    do
        if [ ${a} -ge ${b} ]
        then
            echo -n "${b} x ${a} = $((${a} * ${b})) "
        fi
    done
done
echo ""

Strip ,lstrip,rstrip如果不指定要去除的字符,则默认是空白字符,如:
[root@DRFDAI ~]# vim cc.py   

#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i.strip()
aa.close()

显示内容:(把空格和换行符都给去掉了)
[root@DRFDAI ~]# python cc.py
#!/bin/bash
#Email:63780668@qq.com#
#Date:2013-0309#

for a in $(seq 1 9)
do
echo ""
for b in $(seq 1 9)
do
if [ ${a} -ge ${b} ]
then
echo -n "${b} x ${a} = $((${a} * ${b})) "
fi
done
done
echo ""

当然,如果要在输出时抵制自动生成的换行符号,也可以用逗号,如:

#!/usr/bin/python
aa = open('bb.sh','r')
for i in aa:
        print i,
aa.close()

输出如下:
[root@DRFDAI ~]# python cc.py
#!/bin/bash
#Email:63780668@qq.com#
#Date:2013-0309#

for a in $(seq 1 9)
do
    echo ""
    for b in $(seq 1 9)
    do
        if [ ${a} -ge ${b} ]
        then
            echo -n "${b} x ${a} = $((${a} * ${b})) "
        fi
    done
done
echo ""

转载请注明linux系统运维
http://www.linuxyw.com/linux/Shell/Python/20130603/533.html

------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
栏目列表
推荐内容