목록프로그래밍 (73)
Self-Improvement
*requests 패키지 설치 pycharm에서 file -> settings -> Project interpreter -> requests 패키지 검색 및 설치 (urllib3, requests, idna, chardet, certifi 가 설치됨) *requests import 1import requests cs *requests 메소드 사용법 123456789 -http://docs.python-requests.org/en/master/user/quickstart/ r=requests.get('https://api.github.com/events') - GET 메소드 r=requests.post('http://httpbin.org/post', data = {'key':'value'}) - POST ..
*플라스크 웹앱 hello_flask.py 예제 ※플라스크란 웹 프레임워크이다. 윈도우에서 작성함----------------------------------------- from flask import Flask #flask 모듈에서 Flask 클래스를 임포트한다. from vsearch import search4letters #4장에서 만들었던 vsearch 모듈에서 search4letters을 임포트했다. app = Flask(__name__) #Flask 객체의 인스턴스를 만들고 app에 할당 ※__name__ 이란 Flask 객체를 만들때 현재 버전의 __name_을 받아야한다. @app.route('/') #@app는 함수장식자로써 기존 함수의 코드를 바꾸지 않고도 함수의 동작을 조정할 수 있..
*vsearch.py 모듈 정의 예제 linux에서 작성함-------------------------------------------------- #! /usr/bin/python3 #phrase는 string이며 호출코드로 집합을 반환한다.(어노테이션) def search4vowels(phrase: str) -> set: """Returns the set of vowels found in 'phrase'.""" #docstring이라하여해당 함수의 설명문이다. return set('aeiou').intersection(set(phrase)) #set()으로 집합을 만들며 인자로받은 phrase와의 교집합하여 return으로 반환한다. #phrase는 string, letters의 인자는 string이..
*리스트 리스트를 기본 복사를하면 같은 자원을 공유하게됨 second = first second와 first의 값이 복사가 되어진것 같지만 second 리스트에 값을 넣고 확인하면 first에도 값이 같이 들어가게 되어 공유가 되어진 것이다. 리스트를 복사를 할 경우에는 copy()라는 함수를 사용하면 되어진다. *딕셔너리 딕셔너리의 데이터는 순서가 없으며 키값을 이용하여 찾는다. 딕셔너리를 포함하는 딕셔너리 people['ford']={ 'name': 'ford prefece', 'Gender': 'male'} people['ford']['name'] 하면 ford의 들어있는 name 값이 출력됨 *집합 집합은 중복을 허용하지 않으며 삽입 순서를 유지하지 않는다 vowels = {'a', 'a', 'b..
*vowels.py예제 ------------------------------------- #! /usr/bin/python3 vowels = ['a', 'e', 'i', 'o', 'u'] word = input("word : ") #키보드로 받는다 found =[] #빈 리스트를 생성 for letter in word: #word변수의 내용 한글자씩 letter에게 할당이되어 반복한다 if letter in vowels: #word한테 할당받은 letter이 vowels에 존재하는지 if letter not in found: #found에 존재하지 않으면 리스트에 추가 found.append(letter) for vowel in found: #found의 내용을 하나씩 할당하여 출력 print(vowe..
*odd.py 예제 linux에서 입력한 사진----------------------odd.py------------------- #! /usr/bin/python3 from datetime import datetime #라이브러리 와 해당 서브 모듈 odds = [1, 3, 5, 7, 9] #리스트(배열) right_this_minute = datetime.today().minute #호출로 만들어진 값이 변수에 할당 #right_this_minute가 odds 리스트에 포함되는지의 if문 if right_this_minute in odds: print("This minute seems a little odd.") else: print("Not an odd minute.") ---------------..
1. dir [경로] - 디렉터리안의 내용을 출력 dir /s [파일] - 파일이 존재하는지 확일할때 유형 2. type [파일] - 파일안의 내용을 출력 3. findstr - 리눅스의 grep같은 명령어 4. not errorlevel 1 (%errorlevel% == 0) - 전의 명령어 수행의 결과를 판단할시 사용 5. secedit /export /cfg [파일이름] - 로컬 보안 정책에 해당하는 모든 설정 값을 파일에 저장할 수 있다. 6. net user [유저이름] - 유저목록을 보거나 특정 유저이름의 관한 설정정보를 볼 수 있다. net localgroup [그룹명] - 그룹목록을 보거나 그룹에 속한 계정을 확인할때 사용 7. del [파일이름] - 해당 파일을 지울 수 있다. 8. ch..
*$HOME/.bash_history 파일의 출력 형식 변경 쉘스크립트 기존의 .bash_history파일의 내용 위의 사진처럼 명령어는 알아볼 수 있지만 시간대가 이상한 형식으로 출력이 되어진다. 이러한 것을 쉘 스크립트를 이용하여 시간대가 알아볼 수 있게 출력되는 형식으로 바꾼다. -------------------------------time.sh-------------------------------- #!/bin/bash > ~/.bash_history.time > ~/.bash_history.cmd > ~/.bash_history.conv tail -200 ~/.bash_history | grep -v ^# > ~/.bash_history.cmd for LEAD in `tail -200 ~/...
*passwd 명령어시 변경한 사용자 이름 및 날짜 저장하는 스크립트 #cd /root/bin #mv /usr/bin/passwd /usr/bin/passwd.old #vi passwd #chmod 755 passwd #cp /root/bin/passwd /usr/bin/passwd.old #passwd #cat /test/passwd.log ※실습한 뒤에 복원작업 필수 *ls 명령어시 악의적인 파일만 안보이게 스크립트 #touch backdoor #mv /bin/ls /bin/ls.old #vi ls #chmod 755 ls #cp /root/bin/ls /bin/ls #ls -al backdoor 파일이 보이지 않는다 #/bin/ls.old -al backdoor 파일이 보여짐 ※실습한 뒤에 복원작업..
*ping 테스트 프로그램 #vi ping.sh #chmod 755 ping.sh #ping.sh *네트워크 점검 프로그램 #vi functions.sh ※functions는 색상이 정의된 함수이며 이용한다. #vi check_network.sh -----------check_network.sh-------------- #!/bin/bash . functions.sh LAN1() { print_error "[ FAIL ] Local Network Connection" echo "(ㄱ) VMware > Edit > Virtual Network Editor" echo "(ㄴ) VMware > VM > Settings > Network Adapter" echo "(ㄷ) #ifconfig" } GATE1() {..