Skip to content
컴퓨터잡담
2021.07.30 09:50

파이썬 find, select 사용법

조회 수 1441 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

 

 

뷰티플솝 find, select의 다양한 활용

 

 

문자를 찾는 방법에대해 알아보겠습니다.

 

 

  • find(찾을문자, 찾기시작할위치)

>>> s = '가나다라 마바사아 자차카타 파하'
>>> s.find('마')
5
>>> s.find('가')
0
>>> s.find('가',5)
-1

find는 문자열중에 특정문자를 찾고 위치를 반환해준다, 없을경우 -1을 리턴

 

  • startswith(시작하는문자, 시작지점)

>>> s = '가나다라 마바사아 자차카타 파하'
>>> s.startswith('가')
True
>>> s.startswith('마')
False

>>> s.startswith('마',s.find('마')) #find는 '마' 의 시작지점을 알려줌 : 5
True
>>> s.startswith('마',1)
False

startswith는 문자열이 특정문자로 시작하는지 여부를 알려준다

true나 false 를 반환

 

두번째 인자를 넣음으로써 찾기시작할 지점을 정할수있다.

 

  • endswith(끝나는문자, 문자열의시작, 문자열의끝)

>>> s = '가나다라 마바사아 자차카타 파하'
>>> s.endswith('마')
False
>>> s.endswith('하')
True

>>> s.endswith('마',0,10)
False
>>> s.endswith('마',0,6)
True

endswith는 문자열이 특정문자로 끝나는지 여부를 알려준다.

true나 false를 반환

 

두번째인자로 문자열의 시작과 세번째인자로 문자열의 끝을 지정할 수 있다.

 

 

지정한 검색 문자를 모두 찾고 싶은 경우도 있습니다.

모두 찾기 예제

str = 'abcabcabc'
target = 'b'
index = -1
while True:
    index = str.find(target, index + 1)
    if index == -1:
        break
    print('start=%d' % index)

find에 지정한 문자를 모두 찾아 출력하도록 합니다.

 

 

 

 

find, find_all

 

>>> bs . find ( 'title' )         # 태그값을 기준으로 내용 불러오기 (최초 검색 결과만 출력)

 <title> test.web </title>

 

>>> bs. find_all ( 'p' )          # 해당 모든 태그를 불러온다  / [ 리스트 ]

[<p align.......> ...... 

 

>>> bs. find_all align = "center" )     # 속성값을 기준으로 태그를 불러온다

[ <p align = "center" .....

 

>>> bs. find_all ( 'p' , limit = 2 )      # 해당 모든 태그 중 2개 까지만

[<p align.......> ...... 

 

 

find(''). find('')

 

>>> head_tag = bs . find ( 'head' )     

>>> head_tag . find ( 'title' )                # head 태그 내부 title 태그의 내용을 불러온다

 

>>> bs . find ( 'p' , align = "right" )   # p 태그 중  /and/   align = "right" 을 포함한 태그를 불러온다

<p align="right....... >

 

>>> body_tag = bs . find ( 'body' )

>>> list1 = body_tag. find_all ( ['p','img'] )   # [] 리스트 , 'p'  /or/  'img' 를 포함하는 태그를 불러온다

>>> for tag in list1 :

     print ( tag )

 

< p align....

< img height = "300" ......>

 

 

정규식 함수 활용

 

>>> import re

>>> bs. find_all ( re . compile ("^p") )                 # p 글자를 포함하는 태그

 

>>> bs. find_all ( text = " text contents 1" )       # text contents 1 을 포함하는 태그

 

>>> bs. find_all ( text re . compile (" text + ") )   # text 부가 내용 포함하는 태그

 

>>> bs. find_all ( re . compile ("^p") )   # p라는 글자를 포함하는 태그를 불러온다.

 

 

문장으로 가져오기

 

>>> tags = bs .find ('body') .find_all ('img')

>>> tags . string          # string 은 1번에 1문자 씩만 변환가능

' img = 'cowboy.jpg' '  

 

>>> strings =  tags . string

>>> for string in strings :

       print (string)

 

>>> body_tag = bs.find('body')

>>> body_tag. get_text()           # 모든 문자열을 하나의 문자열로 되돌린다.

' \n text contents1 \n text contents 2 \n tex...... ' 

 

>>> body_tag. get_text ( strip = True )   # \n 줄바꿈 기호가 삭제된 채 출력

'  text contents1 text contents 2 tex...... '          

 

>>> body_tag. get_text ( '-' , strip = True )   # \n 기호가 '- 로 출력

'  text contents1 - text contents 2 - tex...... '          



 

로그인 후 댓글쓰기가 가능합니다.

?

List of Articles
번호 분류 제목 날짜 조회 수
717 Server XE file cache 활용 2016.08.19 1648
716 Server 아파치 mod_cache mod_disk_cache 알아보기 7 2016.08.18 3096
715 컴퓨터잡담 MP3 소리 크기 조절 프로그램 file 2016.08.14 3645
714 Server XE 반응형 모바일 메타태그 삽입하기 2016.08.14 3687
713 [Docs]스프레드시트 구글 스프레드시트 설문지 내맘대로 수정하기 file 2016.08.13 11628
712 [Docs]스프레드시트 스프레드시트 api append & update php 셀 내용 수정 4 2016.08.08 5313
711 [Docs]스프레드시트 Google SpeadSheet 조건에 맞는 데이터만 참조하여 가져오기(importrange, Query) 1 file 2016.08.06 12941
710 [Docs]스프레드시트 구글 드라이브에서 다른 파일 데이터 참조하기 file 2016.08.06 6344
709 Server mysql 16CPU / 16GB My.cnf 1 2016.07.26 2499
708 WindowsTip 도스에서 텍스트 파일 치환 2016.07.19 4626
707 Server mysql 테이블 손상시 #1146 - Table 해결방법 file 2016.07.17 8880
706 Server xe 타이틀 게시판 이름 없애기 file 2016.06.28 1803
705 [Docs]스프레드시트 스프레드 웹게시로 불러오기 1 2016.06.24 4724
704 Server 서버 부하상태 체크 file 2016.04.30 1709
703 Server XE Content font-size:수정방법 file 2016.04.19 1864
702 Server XE <title>제목 - 사이트명</title> 으로 변경방법 2016.04.19 2055
701 Server XE 리퍼러 모듈로 트래픽 발생에 대처방법 file 2016.04.17 1409
700 Server ECS P43T-AD3, Asus C381GM, Driver(두번째 사용했던 서버 드라이버) file 2016.04.12 2804
699 Server XE 스케치북 모바일 비회원 댓글쓰기에서 홈페이지 이메일 기입란 삭제하기 2016.04.08 2979
698 Server XE 어느날 갑자기 다운로드가 되지 않을때 해결방법 file 2016.04.07 1351
Board Pagination Prev 1 ... 9 10 11 12 13 ... 46 Next
/ 46

http://urin79.com

우린친구블로그

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소