-
[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요청을 보냈다.
#실행 결과
이렇게 기본적인 스캐닝 테스트를 할 수 있다.
'기초 > 파이썬' 카테고리의 다른 글
[python] 파이썬 기초정리4 (while문) (0) 2017.04.16 [python] 파이썬 모듈설치 (0) 2017.04.16 [python] 파이썬 기초2(함수, 조건문) (0) 2017.04.15 [python] 파이썬 기초(정의, 변수, 주석) (0) 2017.04.15 [python] 다운로드 및 환경변수 설정 (0) 2017.04.15