Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python

  1. Python 파일 업로드 예제: HTML 폼부터 CGI 스크립트까지

    웹 애플리케이션에서 파일을 업로드하려면 HTML 폼의 enctype 속성을 반드시 multipart/form-data로 설정해야 합니다. 이 속성이 없으면 브라우저가 파일 데이터를 서버로 제대로 전송할 수 없습니다. 또한 type이 file인 input 태그를 사용하면 파일을 선택할 수 있는 찾아보기(Browse) 버튼이 자동으로 생성됩니다.1. 파일 업로드용 HTML 폼 작성<html> <body>    <form enctype = "multipart/form-data"

  2. Python에서 파일 다운로드 대화 상자를 띄우는 방법

    파일 다운로드 대화 상자란?웹 서비스를 개발하다 보면, 사용자가 링크를 클릭했을 때 실제 파일 내용을 화면에 바로 표시하는 대신 파일 다운로드 대화 상자가 나타나도록 하고 싶은 경우가 있습니다. 예를 들어 텍스트 파일이나 이미지처럼 브라우저가 열 수 있는 파일이라도, 클릭 즉시 저장되도록 유도하고 싶을 때가 그렇습니다.이 기능은 HTTP 헤더만으로 아주 간단하게 구현할 수 있으며, 일반적인 콘텐츠 출력용 헤더와는 조금 다른 방식의 헤더를 사용합니다.HTTP 헤더 설정 방법핵심은 두 가지 헤더입니다.Content-Type: appli

  3. Python에서 MySQLdb 모듈 설치 방법 (Ubuntu·Fedora·pip 완전 정리)

    MySQL 데이터베이스를 Python에서 다루려면 MySQLdb 모듈이 필요합니다. 본격적인 작업에 앞서, 먼저 내 컴퓨터에 MySQLdb가 설치되어 있는지 확인해야 합니다.1. MySQLdb 설치 여부 확인하기Python 스크립트에 아래 코드를 작성한 뒤 실행해 보세요.#!/usr/bin/python import MySQLdb만약 실행 시 다음과 같은 에러가 출력된다면, MySQLdb 모듈이 아직 설치되지 않은 것입니다.Traceback (most recent call last): File test.py, line 3, in

  4. Python으로 MySQL 데이터베이스 연결하기: 기본 개념과 실전 예제

    Python에서 MySQL 데이터베이스를 다루려면 먼저 데이터베이스에 연결하는 방법을 이해해야 합니다. 이 글에서는 MySQLdb 모듈을 사용해 MySQL 데이터베이스에 접속하는 과정을 단계별로 살펴보겠습니다. 연결 전 준비 사항 MySQL 데이터베이스에 연결하기 전에 아래 항목들이 모두 준비되어 있는지 확인하세요. TESTDB라는 이름의 데이터베이스가 생성되어 있어야 합니다. TESTDB 안에 EMPLOYEE 테이블이 만들어져 있어야 합니다. EMPLOYEE 테이블에는 FIRST_NAME, LAST_NAME, AGE, SEX,

  5. Python에서 데이터베이스 테이블 생성하기

    데이터베이스 연결이 성공적으로 설정되면, 생성된 커서(cursor) 객체의 execute() 메서드를 사용하여 데이터베이스에 테이블을 만들거나 레코드를 삽입할 수 있습니다.예제이번 예제에서는 EMPLOYEE라는 이름의 데이터베이스 테이블을 생성해 보겠습니다.#!/usr/bin/python import MySQLdb # 데이터베이스 연결 열기 db = MySQLdb.connect(localhost,testuser,test123,TESTDB ) # cursor() 메서드를 사용하여 커서 객체 준비 cursor = db.cursor()

  6. Python으로 데이터베이스에 데이터 삽입하기: INSERT 문 활용 가이드

    데이터베이스 테이블에 새로운 레코드를 생성하고자 할 때 INSERT 문이 반드시 필요합니다. 이 글에서는 Python에서 MySQLdb 모듈을 사용해 데이터를 삽입하는 다양한 방법을 예제와 함께 살펴보겠습니다.기본 INSERT 문 실행하기다음 예제는 SQL INSERT 문을 실행하여 EMPLOYEE 테이블에 하나의 레코드를 생성합니다.#!/usr/bin/python import MySQLdb # 데이터베이스 연결 열기 db = MySQLdb.connect(localhost,testuser,test123,TESTDB ) # cur

  7. Python으로 배우는 데이터베이스 읽기(READ) 작업: fetchone()과 fetchall() 완벽 정리

    데이터베이스 읽기(READ) 작업이란? 데이터베이스의 읽기(READ) 작업이란 저장된 데이터 중에서 필요한 정보를 조회하여 가져오는 것을 의미합니다. 데이터베이스 연결이 성공적으로 설정되었다면, 이제 본격적으로 쿼리(query)를 실행할 준비가 된 것입니다. Python에서는 fetchone() 메서드로 레코드 하나씩 가져올 수도 있고, fetchall() 메서드로 여러 개의 레코드를 한 번에 가져올 수도 있습니다. 주요 메서드와 속성 fetchone() — 쿼리 결과 집합(result set)에서 다음 행(row) 하나를 가져옵

  8. Python으로 데이터베이스 레코드 업데이트하기 — MySQL UPDATE 문 완벽 가이드

    데이터베이스에서 UPDATE 연산이란 이미 저장되어 있는 하나 이상의 레코드(행)의 값을 수정하는 작업을 의미합니다. Python에서는 MySQLdb 모듈을 사용해 SQL의 UPDATE 문을 실행함으로써 손쉽게 데이터를 갱신할 수 있습니다.UPDATE 연산의 기본 개념UPDATE 문은 WHERE 절과 함께 사용하여 특정 조건을 만족하는 레코드만 선택적으로 수정할 수 있습니다. 만약 WHERE 절을 생략하면 테이블의 모든 레코드가 변경되므로 주의해야 합니다.예제: 남성 회원 나이 1살 증가시키기다음 예제는 SEX(성별) 필드 값이 M

  9. Python MySQL 데이터베이스 DELETE 작업 완벽 가이드

    Python에서 DELETE 작업이란?데이터베이스에서 더 이상 필요하지 않은 레코드를 제거해야 할 때 DELETE 작업을 사용합니다. Python에서는 SQL의 DELETE 문을 커서(cursor) 객체로 실행하여 조건에 맞는 레코드를 간편하게 삭제할 수 있습니다.다음은 EMPLOYEE 테이블에서 나이(AGE)가 20보다 많은 모든 레코드를 삭제하는 전체 절차입니다.예제 코드#!/usr/bin/python import MySQLdb # 데이터베이스 연결 열기 db = MySQLdb.connect(localhost, testuser

  10. 파이썬(Python)으로 데이터베이스 트랜잭션 처리하기

    데이터베이스 트랜잭션이란?트랜잭션(Transaction)은 데이터의 일관성을 보장하기 위한 핵심 메커니즘입니다. 여러 개의 데이터베이스 작업을 하나의 논리적 작업 단위로 묶어, 모든 작업이 성공적으로 완료되거나 전혀 실행되지 않도록 보장합니다.트랜잭션은 일반적으로 ACID라고 불리는 다음 네 가지 특성을 가집니다.원자성(Atomicity) — 트랜잭션은 완전히 실행되거나, 아예 실행되지 않아야 합니다. 중간에 실패하면 모든 변경 사항이 취소됩니다.일관성(Consistency) — 트랜잭션은 항상 일관된 상태에서 시작되어야 하며, 종

  11. Python에서 커밋(COMMIT)과 롤백(ROLLBACK) 작업 완벽 가이드

    데이터베이스를 다루는 애플리케이션을 개발할 때 트랜잭션(Transaction) 관리는 매우 중요합니다. Python에서 데이터베이스 작업을 수행한 후에는 변경 사항을 확정하거나 취소해야 하는데, 이때 사용되는 핵심 메서드가 바로 commit()과 rollback()입니다.COMMIT(커밋)이란?COMMIT은 데이터베이스에 변경 사항을 최종 확정하도록 지시하는 연산입니다. INSERT, UPDATE, DELETE 등의 작업을 수행한 후 commit() 메서드를 호출하면 해당 변경 사항이 영구적으로 저장되며, 이후에는 되돌릴 수 없습니

  12. Python에서 데이터베이스 연결 종료하기: close() 메서드 완벽 가이드

    Python에서 데이터베이스 연결 끊는 방법Python에서 데이터베이스 작업을 마친 후에는 반드시 연결을 종료해야 합니다. 연결을 해제하려면 close() 메서드를 사용하면 됩니다.db.close()close() 호출 시 트랜잭션 처리 방식사용자가 close() 메서드를 호출하여 데이터베이스 연결을 닫으면, 아직 완료되지 않은 미처리 트랜잭션(outstanding transactions)은 데이터베이스에 의해 자동으로 롤백(rollback)됩니다.명시적인 commit 또는 rollback 권장다만, 데이터베이스의 하위 수준(low-

  13. Python 데이터베이스 오류 처리 완벽 가이드 – DB API 표준 예외 클래스 총정리

    Python으로 데이터베이스를 다루다 보면 다양한 원인으로 오류가 발생할 수 있습니다. 대표적인 예로는 실행된 SQL 문의 구문 오류, 데이터베이스 연결 실패, 그리고 이미 취소되었거나 종료된 statement 핸들에 대해 fetch 메서드를 호출하는 경우 등이 있습니다.DB API가 정의하는 표준 예외 클래스Python DB API는 모든 데이터베이스 모듈이 반드시 포함해야 하는 표준 예외(Exception)들을 정의하고 있습니다. 아래 표를 통해 각 예외 클래스의 역할과 상속 관계를 확인할 수 있습니다.번호예외 클래스 및 설명1

  14. Python으로 HTML 이메일 보내기 완벽 가이드

    Python으로 일반적인 방법으로 이메일을 전송하면 본문의 모든 내용은 단순 텍스트(simple text)로 처리됩니다. 메시지 안에 HTML 태그를 포함하더라도 태그는 그대로 문자열로 출력될 뿐, 실제 HTML 문법에 따라 서식이 적용되지 않습니다.하지만 Python은 HTML 형식의 이메일을 실제 HTML로 렌더링되도록 전송하는 기능을 제공합니다. 핵심은 이메일 헤더에 올바른 MIME 정보를 지정하는 것입니다.MIME 헤더 설정하기HTML 이메일을 전송할 때는 메시지 헤더에 다음 세 가지 정보를 명시해야 합니다.MIME-Vers

  15. Python으로 이메일에 파일을 첨부해 보내는 방법

    텍스트 본문과 파일이 함께 들어 있는 혼합 콘텐츠(mixed content) 이메일을 보내려면 먼저 Content-type 헤더를 multipart/mixed로 설정해야 합니다. 그런 다음 본문 영역과 첨부 파일 영역을 boundary(경계선)로 구분하여 지정합니다. 혼합 콘텐츠 이메일의 기본 구조 경계선(boundary)은 두 개의 하이픈(--) 뒤에 고유한 문자열을 붙여 시작하며, 이 문자열은 이메일 본문 어디에도 등장하지 않아야 합니다. 또한 이메일의 마지막 섹션을 알리는 최종 경계선은 반드시 두 개의 하이픈으로 끝나야 합니다

  16. 파이썬에서 새 스레드 시작하는 방법

    파이썬에서 새로운 스레드를 생성하려면 thread 모듈에서 제공하는 다음 메서드를 호출해야 합니다. thread.start_new_thread ( function, args[, kwargs] ) 이 메서드는 Linux와 Windows 환경 모두에서 빠르고 효율적으로 새 스레드를 생성할 수 있는 방법을 제공합니다. 이 메서드는 호출 즉시 반환되며, 그와 동시에 자식 스레드가 시작되어 전달받은 인수 목록(args)과 함께 지정한 함수를 호출합니다. 함수의 실행이 끝나 반환되면 해당 스레드도 함께 종료됩니다. 여기서 args는 함수에

  17. 파이썬 스레딩(Threading) 모듈 완벽 가이드

    파이썬 2.4부터 기본 포함된 threading 모듈은 이전에 소개한 저수준 thread 모듈보다 훨씬 강력하고 고수준의 스레드 지원 기능을 제공합니다. 실무에서는 대부분 이 threading 모듈을 사용하는 것이 권장됩니다.threading 모듈은 thread 모듈의 모든 메서드를 그대로 노출하며, 추가로 다음과 같은 유용한 함수들을 제공합니다.threading.activeCount() — 현재 활성 상태인 스레드 객체의 개수를 반환합니다.threading.currentThread() — 호출자의 스레드 제어 범위 내에 있는 스레

  18. Python 스레드 동기화 완벽 가이드: Lock으로 안전한 멀티스레딩 구현하기

    여러 스레드가 동시에 공유 자원에 접근하면 데이터 충돌이나 예측 불가능한 결과가 발생할 수 있습니다. Python의 threading 모듈은 이러한 문제를 방지하기 위해 간단하게 구현할 수 있는 락(Lock) 메커니즘을 제공하며, 이를 통해 여러 스레드의 실행을 동기화할 수 있습니다.Lock 객체 생성하기새로운 락은 Lock() 메서드를 호출하여 생성합니다. 이 메서드는 새로운 락 객체를 반환하며, 이후 스레드 동기화에 사용됩니다.import threading threadLock = threading.Lock()acquire()

  19. Python 멀티스레드 큐(Queue) 완벽 가이드 – 스레드 간 안전한 데이터 처리

    Python의 queue 모듈은 여러 스레드가 동시에 접근하더라도 데이터 손상 없이 안전하게 항목을 주고받을 수 있는 큐(Queue) 객체를 제공합니다. 큐는 생산자(Producer)-소비자(Consumer) 패턴을 구현할 때 특히 유용하며, 최대 저장 용량을 지정하여 생성할 수도 있습니다.큐 객체를 제어하기 위해 사용되는 주요 메서드는 다음과 같습니다.get() – 큐에서 항목 하나를 꺼내어(제거하고) 반환합니다.put() – 큐에 새 항목을 추가합니다.qsize() – 현재 큐에 들어 있는 항목의 개수를 반환합니다.empty()

  20. Python SAX API로 XML 구문 분석하기: ContentHandler부터 실전 예제까지

    SAX(Simple API for XML)는 이벤트 기반(event-driven) 방식으로 XML 문서를 구문 분석하기 위한 표준 인터페이스입니다. DOM처럼 문서 전체를 메모리에 올려 트리로 다루는 것이 아니라, 문서를 처음부터 끝까지 순차적으로 읽으면서 태그의 시작·종료·문자 데이터 등의 이벤트가 발생할 때마다 핸들러를 호출합니다. 그래서 대용량 XML 파일도 적은 메모리로 빠르게 처리할 수 있다는 장점이 있습니다.Python에서 SAX로 XML을 파싱하려면 일반적으로 xml.sax.ContentHandler를 상속받아 자신만의

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:130/450  20-컴퓨터/Page Goto:1 124 125 126 127 128 129 130 131 132 133 134 135 136