css和问题

原创 李菲菲 随笔 css 191阅读 2018-02-06 21:10:37 举报

问题

需要通过指定的文本模式去检查字符串的开头或者结尾,比如文件名后缀,URLScheme 等等。

解决方案

1.检查字符串开头或结尾的一个简单方法是使用str.startswith() 或者是str.endswith() 方法。比如:

eg1:

filename = ‘spam.txt‘
filename.endswith(‘.txt‘)
True
filename.startswith(‘file:‘)
False
url = ‘http://www.python.org
url.startswith(‘http:‘)
True

如果想检查多种匹配可能,只需要将所有的匹配项放入到一个元组中去,然后传给startswith() 或者endswith() 方法:

eg2:

import os
filenames = os.listdir(‘.‘)
filenames
[ ‘Makefile‘, ‘foo.c‘, ‘bar.py‘, ‘spam.c‘, ‘spam.h‘ ]
[name for name in filenames if name.endswith((‘.c‘, ‘.h‘)) ]
[‘foo.c‘, ‘spam.c‘, ‘spam.h‘
any(name.endswith(‘.py‘) for name in filenames)
True

下面是另一个例子:

eg3:
from urllib.request import urlopen
def read_data(name):
if name.startswith((‘http:‘, ‘https:‘, ‘ftp:‘)):
return urlopen(name).read()
else:
with open(name) as f:
return f.read()
奇怪的是,这个方法中必须要输入一个元组作为参数。如果你恰巧有一个list 或者set 类型的选择项,要确保传递参数前先调用tuple() 将其转换为元组类型

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复