ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] 파이썬 기초3 (for문)
    기초/파이썬 2017. 4. 15. 17:54

    반복문( for문)

    반복되는 작업에 대한 코딩을 문법을 통해서 간결하게 줄일 수 있다.

    파이썬의 반복문 특징 :

    인덱스의 대한 변수를 선언하지 않고 사용 할 수 있다.

    반복문의 카운트는 in 뒤에 모든 것들이 올수 있다.


    for문 : 정확히 떨어지는 반복사용

    >> 인덱스를 적극 활용해서 사용 리스트, 튜플, 문자열일떄 많이 사용


    while : 조건에 대해 반복사용

    >> 파일, 연산, 무한루트 시 사용


    #문법

    for [ 인덱스 ] in 배열:

    반복수행될 문장!


    #실습목적

    포문을 사용해 http요청을 보내본다.


    for문 실습

    #1 기본 카운트 range 의 활용

    코드

    for i in range(1,11):

    print(i)




    for문에는 카운트를 통해 반복문이 몇번 동작할지를 지정해줘야 한다.

    이렇게 단순히 카운트를 입력해서 출력하는 방법도 있지만 여기에는 모든 카운트들이 올 수 있다.

    모든 카운트란? 배열의 인덱스부터 시작해서 파일의 라인 .. 많은 것들이 와서 자바의 빠른 for문의 형태로 사용된다.


    #배열 포문 실습

    코드

    import requests


    url="tistoryblog"

    for i in url:

    print(i)

    print("=========")

    for i in url[0:7]:

    print(i)



    이렇게 배열로 넣고 돌릴수 있다.


    for문 응용 (파일읽기)

    *준비된 파일

    01.py : 파이선 코드

    url.txt : url을 작성한 txt파일


    #실습

    *url.txt    코드

    http://www.naver.com

    http://www.google.co.kr

    http://www.tistory.com


    *01.py    코드

    import requests


    for i in open("url.txt",'r'):

    url = i.strip('\n') 

    print(url)

    r = requests.get(url)

    print(r.status_code)


    소스분석

    #1 requests 모듈을 사용하기 위해 import했다

    #2 open함수의 'r' : 읽기 방식으로 "url.txt" 파일을 [ for문 ] 으로 열었다.

    >> 라인을 한줄씩 읽어와 i 배열에 저장했다.

    #3 이때 라인을 읽어오는 법은 앞뒤 공백을 strip함수로 제거해서 넣어놨다.

    >> readline() 효과

    #3 http요청을 통해서 코드를 반환했다.


    #실행결과


    2중 for문 

    반복문안에 반목문을 작성할 수 있다.

    이렇게 되면 큰 틀안에서 작은틀의반복문을 계속 돌릴수 있다.


    #실습

    *url.txt    코드

    http://www.naver.com

    http://www.google.co.kr

    http://www.tistory.com


    *regs.txt    코드

    test

    admin

    mysqladmin

    wp-admin


    *scan.py    코드

    import requests


    for i in open("url.txt",'r'):

    url = i.strip('\n')

    for reg in open("regs.txt",'r'):

    target=url+"/"+reg.strip('\n')

    print(target)

    r = requests.get(target)

    print(r.status_code)


    #소스분석

    i의 배열로 가지고 있는 for문안에

    reg를 배열로 가지는 for문을 작성했다.

    >>두 파일의 문자열을 합쳐서 http요청을 보냈다.


    #실행 결과


    이렇게 기본적인 스캐닝 테스트를 할 수 있다.


    댓글

Designed by Tistory.