반응형

# 이메일을 보내기 위한 smtplib 모듈을 import 한다


import smtplib



# 이메일에 이미지를 첨부하기 위한 모듈들을 import 한다


from email.mime.image import MIMEImage

from email.mime.multipart import MIMEMultipart


COMMASPACE = ', '



# 이메일 메세지 컨테이너를 만든다


msg = MIMEMultipart()

msg['Subject'] = 'Our family reunion'


# me == 보내는 사람의 주소


# family = 받는 사람들의 모든 주소


msg['From'] = me

msg['To'] = COMMASPACE.join(family) # join 함수로 받는 사람들의 주소를 합친다

msg.preamble = 'Our family reunion'



# 전송하고자 하는 이미지 파일들이 모두 PNG 파일이라고 가정하자


for file in pngfiles:

    # 바이너리 모드로 전송할 파일들을 연다.

    # MIMEImage 클래스가 자동으로 이미지의 타입을 알아낼 것이다.


    fp = open(file, 'rb')

    img = MIMEImage(fp.read())

    fp.close()

    msg.attach(img)




# 위와 같은 형태로 멀티파트에 MIME 부품을 추가하는 식으로 더 많은 정보를 넣을 수 있다

# MIMEText 등도 추가할 수 있다.



# 로컬 서버를 통해 메일을 보낸다.


s = smtplib.SMTP('localhost')

s.sendmail(me, family, msg.as_string())

s.quit()



# 로컬 SMTP 서버가 없을 경우 계정이 있는 다른 서버를 사용하면 된다.


s = smtplib.SMTP_SSL('smtp.gmail.com',465)

s.login("아이디", "비밀번호")

s.sendmail(me, you, msg.as_string())

s.quit()

반응형
반응형

import feedparser


urls = (

    "http://bomsoft.com/rss",

    "http://abc.com/rss"

)


def crawl_rss (url) :

    d = feedparser.parse(url)

    print( type(d))

    print( d.feed["title"] )

    for e in d.entries :

        print ("title = " + e.title)

        print ("link = " + e.link)

        print ("description = " + e.description)

        print ("pubDate = " + str(e.published) )


if __name__ == "__main__" :

    for url in urls:

        crawl_rss(url)



반응형
반응형

# shutil 모듈은 이미 파이썬 배포판에 포함돼 있으므로 직접 설치할 필요가 없습니다. 이 모듈을 사용하려면 모듈을 import하기만 하면 됩니다.

import shutil

#디렉토리 복사
shutil.copytree('Original', 'Original-Copy')

#Original의 모든 내용과 구조를 똑같이 가진 Original-Copy 디렉터리가 새로 생긴 것을 확인할 수 있습니다.

# 디렉토리 이동
shutil.move('Original', 'Original-Copy')

# 디렉토리 삭제
shutil.rmtree('Original-Copy')

반응형
반응형

# 파일, 디렉토리 다루는 OS 함수

import os
os.listdir(‘.’)

os.path.isabs(파일경로) – 파일명이 절대경로이면 True
os.path.isdir(파일경로) – 파일이 디렉토리이면 True
os.path.isfile(파일경로) – 레귤러 파일인 경우 True
os.path.islink(파일경로) – 심볼릭 링크 파일인 경우 True
os.path.ismount(파일경로) – 파일 경로가 마운트 포인트인 경우 True

os.rename() – 파일명 변경 및 이동

os.stat() – 파일의 상태 확인

os.stat(파일명)[stat.ST_CTIME] – 생성 시간
os.stat(파일명)[stat.ST_ATIME] – 접근 시간
os.stat(파일명)[stat.ST_MTIME] – 수정 시간
time.ctime(시간) 시간 정보를 문자열로
os.stat(파일명)[stat.ST_UID] – UID
os.stat(파일명)[stat.ST_GID] – GID
os.stat(파일명)[stat.ST_SIZE] – 파일 크기(Bytes)
os.stat(파일명)[stat.ST_UID] – UID
os.stat(파일명)[stat.ST_NLINK] – inode 링크 수
os.stat(파일명)[stat.ST_MODE] – 파일 모드 확인


tempfile.mktemp() – 임시 파일명 생성 (실제로 파일을 만드는 것은 아님)



반응형
반응형

#pysqlite 은 Python 2.5 이상에서 기본적으로 내장되어 있다.

import sqlite3

# SQLite DB 연결
conn = sqlite3.connect("test.db")

# Connection 으로부터 Cursor 생성
cur = conn.cursor()

# SQL 쿼리 실행
cur.execute("select * from customer")

# 데이타 Fetch
rows = cur.fetchall()
for row in rows:
    print(row)

cur.close()

# 파라미터 사용 쿼리
cur = conn.cursor()
sql = "select * from customer where category=? and region=?"
cur.execute(sql, (1, 'SEA'))
rows = cur.fetchall()
for row in rows:
    print(row)
cur.close()

#inset하기
cur = conn.cursor()
sql = "insert into customer(name,category,region) values (?, ?, ?)"
cur.execute(sql, ('홍길동', 1, '서울'))
conn.commit()

data = (
    ('홍진우', 1, '서울'),
    ('강지수', 2, '부산'),
    ('김청진', 1, '서울'),
)
sql = "insert into customer(name,category,region) values (?, ?, ?)"
cur.executemany(sql, data)
 
# Connection 닫기
conn.close()



반응형
반응형

import sys

var1 = sys.argv[1]
var2 = sys.argv[2]
var3 = sys.argv[3]

print "var1 = " + var1
print "var2 = " + var2
print "var3 = " + var3
print sys.argv[0]


반응형
반응형

# 1. 로또 번호를 연속해서 5개 자동 생성하는 파이썬 예제 1 (random.sample() 이용 안함)
import random
for i in range(5):
    lotto = [0, 0, 0, 0, 0, 0]
    for x  in range(6):
        num = 0
        while(num in lotto):
            num = random.randint(1, 46)
        lotto[x] = num
    print("로또: " + str(sorted(lotto)))

[결과 예]
로또: [4, 8, 20, 23, 27, 33]
로또: [2, 19, 26, 38, 40, 43]
로또: [6, 7, 13, 24, 40, 43]
로또: [13, 20, 37, 39, 41, 42]
로또: [4, 9, 11, 15, 18, 37]

# 2. 로또 번호를 연속해서 5개 자동 생성하는 파이썬 예제 2 (random.sample() 이용)

import random
for i in range(1,6):
    print("로또: " + str(sorted(random.sample(range(1,46), 6))))

[결과 예]
로또: [6, 19, 23, 37, 40, 45]
로또: [1, 2, 15, 20, 23, 33]
로또: [2, 7, 17, 19, 22, 26]
로또: [15, 18, 24, 28, 44, 45]
로또: [8, 11, 22, 33, 40, 45]


#출처 : http://blog.daum.net/sualchi/13720345



반응형
반응형

<script type='text/javascript'>
//<![CDATA[

$( document ).find('a').each(function(){
    var $o = $(this);
    var s = $o.attr('target');
    if(s=='' || s == null) $o.attr('target','_blank');
  });
//]]>
</script>


반응형

+ Recent posts