python 이 문자열 의 시작 과 끝 에 일치 하 는 방법 에 대해 자세히 설명 합 니 다.

1.지정 한 텍스트 모드 를 통 해 문자열 의 시작 이나 끝 을 확인 해 야 합 니 다.예 를 들 어 파일 이름 접미사,URL Scheme 등 입 니 다.문자열 의 시작 이나 끝 을 검사 하 는 간단 한 방법 은 str.startswith()또는 str.endswith()방법 을 사용 하 는 것 입 니 다.예 를 들 면:

>>> filename = 'spam.txt'
>>> filename.endswith('.txt')
True
>>> filename.startswith('file:')
False
>>> url = 'http://www.python.org'
>>> url.startswith('http:')
True
>>> 
2.여러 가지 일치 가능성 을 확인 하려 면 모든 일치 항목 을 원 그룹 에 넣 고 startswith()또는 endswith()방법 에 전달 해 야 합 니 다.

>>> 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
>>>
 
#  2
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()을 원 그룹 형식 으로 변환 하 는 것 을 확보 해 야 합 니 다.예 를 들 면:

>>> choices = ['http:', 'ftp:']
>>> url = 'http://www.python.org'
>>> url.startswith(choices)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: startswith first arg must be str or a tuple of str, not list
>>> url.startswith(tuple(choices))
True
>>>
3.startswith()와 endswith()방법 은 문자열 의 시작 과 끝 을 검사 하 는 데 매우 편리 한 방법 을 제공 합 니 다.비슷 한 조작 도 절편 으로 이 루어 질 수 있 지만 코드 는 그다지 우아 해 보이 지 않 는 다.예 를 들 면:

>>> filename = 'spam.txt'
>>> filename[-4:] == '.txt'
True
>>> url = 'http://www.python.org'
>>> url[:5] == 'http:' or url[:6] == 'https:' or url[:4] == 'ftp:'
True
>>>
4.정규 표현 식 을 사용 하여 실현 할 수 있 습 니 다.예 를 들 어:

>>> import re
>>> url = 'http://www.python.org'
>>> re.match('http:jhttps:jftp:', url)
<_sre.SRE_Match object at 0x101253098>
>>>
5.일반 데이터 집합 과 결합 할 때 startswith()와 endswith()방법 이 좋 습 니 다.예 를 들 어 다음 문 구 는 특정한 폴 더 에 지정 한 파일 형식 이 있 는 지 확인 합 니 다.

if any(name.endswith(('.c', '.h')) for name in listdir(dirname)):
...
이 글 은 python 과 일치 하 는 문자열 의 시작 과 끝 에 대한 상세 한 설명 은 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.참고 가 되 고 저 희 를 많이 사랑 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기