python判断字符串结尾_Python判断字符串的开头与结尾

最孤单的人分两种,一种恨不得全世界都跟他一样倒霉,一种则希望别人能幸福,因为看到幸福的人,他也略略觉得温暖。

import sys

import os

reload(sys)

sys.setdefaultencoding('utf-8')

判断文件开头结尾

一般来说,此方法应用于那些判断处理文件,或者对文本处理做判断。

判断字符串的开头使用startswith(),判断字符串的结尾使用endswith(0方法。说教无益,上代码。

data_str='langzi'

if data_str.startswith('l'):

print True

if data_str.endswith('i'):

print True

运行结果:

True

True

当然括号内还可以加上元组,只要元组内的元素某一个元素满足要求就返回True。

if data_str.endswith(('l','2','i')):

print True

运行结果:

True

打印当前目录下的所有文件

当该目录下的文件存在中文名的时候,在Python2中输出结果会乱码显示。

for x in os.listdir('.'):

print x

运行结果:

�ָ����ı��ַ���.py

��Ƭ���� ����ʡ�ڴ�������.py

�б� �ֵ� ������.py

�ж��ַ����Ŀ�ͷ���β.py

����������������.py

�ɵ������� �͵���������.py

ͬʱ�����������.py

�ֵ��б�ɸѡ����.py

�ַ�������.py

�����ֵ��ֵ����.py

������.py

���������� yield.py

ͳ�Ƴ��ִ���.py

������.py

这里稍微引申一下被人诟病的编码问题,Python2中字符串都是以Unicode编码储存在内存中,但是在win下的命令窗口编码是gbk编码,所以会乱码。

主要说一下decode和encode这两个方法,decode(‘gbk’)的意思就是把gbk编码的字符串转换成unicode编码的字符串,也就是俗称的编码,encode(‘utf-8’)的意思就是把unicode编码的字符串转换成utf-8编码,也就是俗称的解码。

解决乱码问题的办法for x in os.listdir('.'):

print x.decode('gbk').encode('utf-8')

运行结果:

分割拆分文本字符串.py

切片操作 (节省内存做法).py

列表 字典 的排序.py

判断字符串的开头与结尾.py

反向迭代和正向迭代.py

可迭代对象 和迭代器对象.py

同时迭代多个对象.py

字典列表筛选数据.py

字符串对齐.py

按照字典的值排序.py

生成器.py

生成器函数 yield.py

统计出现次数.py

迭代器.py

实际案例

要求:打印当前目录下所有的py文件。

困惑:无

分析:使用os.listdir()获取文件名,然后用endswith()判断是否为py文件。

for x in [name.decode('gbk').encode('utf-8') for name in os.listdir('.') if name.endswith('.py')]:print x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值