본문 바로가기

프로그래밍 관련/파이썬36

파이썬으로 외부 프로그램 실행하기 파이썬 프로그램이 외부의 SW를 호출해서 실행하는 방법. 인터넷을 검색해보니 다양한 방법들이 있고 각자 이런저런 특징들이 있는거 같다. 일단은 내가 찾은 예시만 간단하게 적고 pass한다. import subprocess a=subprocess.run(['pict.exe','input.txt', str('>'), 'output.txt'], shell=True) 상세한 설명은 다음에 하도록 하자. 일단 pict.exe는 실행파일의 이름이고 절대경로를 다 써줘도 된다. 뒤에 input.txt , > , output.txt 는 해당 SW를 cmd에서 실행시킬 때 환경변수로 입력하는 부분이다. cmd에서 내가 직접 타이핑하면 위와 같이 타이핑 해야 한다. 근데 이거를 파이썬 코드로 옮겨놓은게 위에서 살펴본 예시.. 2021. 10. 13.
파이썬 . 정규표현식.정규식. re 라이브러리 -메타문자들 대부분의 출처 : wikidocs 07-2 정규 표현식 시작하기 - 점프 투 파이썬 (wikidocs.net) 1. [] "[ ] 사이의 문자들과 매치"라는 의미를 갖는다. 그래서 [0-9] 를 하면 숫자 0,1,2,3,4,5,6,7,8,9 를 의미하고 [a-z]를 하면 알파벳 a 부터 z 까지를 의미한다. [a-zA-Z] 를 하면 알파벳 대소문자 구분없이 모두를 의미하게 된다. 그런데 []안에서 만약 ^기호를 쓰면, 이 기호는 문자열이 아니라 반대.라는 의미를 갖는 메타문자로 사용된다. ex) [^0-9] 는 0~9 사이 숫자를 제외한 모든 것을 의미한다. 2. 점(.) 정규 표현식의 Dot(.) 메타 문자는 줄바꿈 문자인 \n을 제외한 모든 문자와 매치됨을 의미한다. ex) a.b 는 a 랑 b 사이.. 2021. 9. 27.
파이썬 . 정규표현식.정규식. re 라이브러리 유의사항 정규표현식 관련해서는 뭐라고 딱 잘라서 깔금하게 설명을 못하겠다. 그냥 내 생각나는 대로 정리해 놓은거니까 부정확한 내용도 있을 거다. 적절히 걸러서 해석하길. wikidocs에 do it ! 점프 투 파이썬 책에 설명해놓은 내용을 비롯하여 각종 블로그와 인터넷 떠도는 정보 취합하여 내가 이해한대로 그냥 적어놓은 것임. 정규식 HOWTO — Python 3.9.7 문서 2021. 9. 27.
for문 관련 헷갈리는거 1. range(10) 2021. 9. 7.
리스트 자료형 리스트 자료형의 형태 #이런식으로 타입 선언할 수도 있다. a=list() #이런식으로 타입 선언할 수도 있다.(2) b=[] #배열처럼 선언하는데, c언어 배열은 int b={1,2,3} 이런식이었음 중괄호가 아니라 대괄호라는 점을 유의! b=[1,2,3] #하나의 리스트 안에 여러가지 데이터타입을 같이 넣을 수 있다. 아래 예시는 정수,소수,문자열 c=[12, 13.0, 7.5, "abcd"] #2차원 배열도 선언 가능하다 아래처럼. C언어의 배열일아 비슷한데 중괄호가 아니라 대괄호임 d=[ [11,12,13 ], [21,22,23], [31,32,33], ] #C언어 배열이랑 다르게 행,열이 N x N 형태가 아니어도 된다. 아래처럼 e=[ [11,12], [21,22,23], [31,32,33,3.. 2021. 9. 3.
파이썬 문자열 자료형 이 글에서 임의의 문자열 변수 이름은 test1, test2 ,test3 . . . 으로 가정 test1="12345" 문자열 길이 알아보는법 len(test1) 출력결과 : 5 문자열 일부만 가져오기 print(test1[1:3]) 출력결과 23 인덱스 1~2 까지 가져오는것임 print(test[0:4])는? 인덱스 0 1 2 3 을 가져오므로 1234 를 출력 마이너스도 쓸 수 있음 -1은 오른쪽에서 첫번째꺼 (5) -2는 오른쪽에서 두번째꺼 (4) 문자열 덧붙이기(합치기) 문자열 두개. 혹은 여러개를 하나로 합치기 ex) test1 = "hello" test2 = " world" 이거 두개를 합쳐서 hello world를 만들고싶다면? test3 = test1 + test2 하면 된다. 즉 그냥 .. 2021. 5. 8.
플라스크에 대하여(3).url_for 함수 ※ 참고로 이 글의 내용은 이미지,동영상 뿐만 아니라 css파일. 자바스크립트 파일 등등 외부파일의 주소를 지정하는 모든 경우에 해당된다. 웹페이지에 이미지. 동영상 등을 올리기 위해서 img 태그. video 태그 등을 사용하게 된다. 이러한 태그들을 사용할 때는 src 라고 해당 이미지.혹은 영상의 위치를 적어주어야한다. 이때 우리는 상대경로를 통해 파일의 경로를 지정해주게 된다. 그렇게 주소를 적고나서 html 파일을 로컬에서(본인 pc)에서 열어보면 영상과 그림이 정상적으로 출력됨을 알 수 있다. 그런데, 해당 html 파일을 플라스크를 통해서 제공하면, 플라스크는 이미지와 동영상의 위치를 제대로 인식하지 못하여 클라이언트(방문자)에게 정보를 제공하지 못한다. 이 때 사용되는 api가 url_fo.. 2021. 4. 27.
플라스크에 대하여(2) template render. 웹페이지 출력하기 인터넷상에서 상대방에게 어떤 요청을 받았을 때 지정된 텍스트를 출력해주는 서버 코드를 앞에서 살펴보았다. 이번에는, 어떤 요청이 왔을 때 단순히 특정 문자열을 리턴해주는 것이 아니라 우리가 미리 작성해둔 웹페이지(html 파일)을 상대방에게 출력해주는 예시를 살펴보자. 별로 어려울 것 없다. 앞에서 봤던 예제에서 새로운 api가 하나 추가 될 뿐이다. 이 api의 이름은 render_template 이다. 이 api의 기본 사용방법은 아래와 같다. from flask import Flask , render_template app = Flask(__name__) @app.route("/") def hello(): return render_template('index.html') @app.route("/pa.. 2021. 4. 26.
flask(플라스크) 프레임워크에 대하여(기본개념) 플라스크의 가장 기본적인 기능은, 나의 컴퓨터가 다른 컴퓨터의 요청을 받았을때, 그 요청을 인지하고 응답하는 것이다. 예를 들어 현재 내컴퓨터의 ip 주소가 100.100.100.100 이라고 하자. 이때, 인터넷에 연결된 누군가가 자신의 웹브라우저(ex.인터넷익스플로러, 파이어폭스 등) 에서 주소창에 나의 ip 주소(100.100.100.100)를 적고 enter키를 쳤을때. 이것은 다른 컴퓨터가 나에게 무언가 신호를 날리는 것이다. 이때 내 컴퓨터에 플라스크 같은 프레임워크가 실행되고 있지 않다면, 해당 요청은 무시될 것이고 내 컴퓨터는 상대방에게 아무런 응답을 하지 않을 것이다. 또한 내 입장에서는 애초에 그런 요청이 왔다는 사실을 알 수도 없다. 그런데 만약 내 컴퓨터에 플라스크를 실행시킨 상태에.. 2021. 4. 26.