From 938ec9b38dfca752a630112064d4795f60e337cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=90=95=E5=8A=BC?= Date: Sat, 26 Mar 2016 00:32:24 +0800 Subject: [PATCH 1/4] 0000 use PIL and OpenCV --- .../0000/add-number-on-picture-OpenCV.py | 10 ++++++++++ jimchenhub/0000/add-number-on-picture-PIL.py | 17 +++++++++++++++++ jimchenhub/0000/head.jpg | Bin 0 -> 37467 bytes jimchenhub/0000/target.jpg | Bin 0 -> 68412 bytes 4 files changed, 27 insertions(+) create mode 100644 jimchenhub/0000/add-number-on-picture-OpenCV.py create mode 100644 jimchenhub/0000/add-number-on-picture-PIL.py create mode 100644 jimchenhub/0000/head.jpg create mode 100644 jimchenhub/0000/target.jpg diff --git a/jimchenhub/0000/add-number-on-picture-OpenCV.py b/jimchenhub/0000/add-number-on-picture-OpenCV.py new file mode 100644 index 00000000..97c094e7 --- /dev/null +++ b/jimchenhub/0000/add-number-on-picture-OpenCV.py @@ -0,0 +1,10 @@ +#-*- coding:utf8 -*- +import cv2 +import numpy as np + +img = cv2.imread("./head.jpg") +width, height = img.shape[0], img.shape[1] +font=cv2.FONT_HERSHEY_SIMPLEX +cv2.putText(img,'4',(width - 40, 40), font, 1,(0, 0, 255),2) + +cv2.imwrite("target.jpg", img) \ No newline at end of file diff --git a/jimchenhub/0000/add-number-on-picture-PIL.py b/jimchenhub/0000/add-number-on-picture-PIL.py new file mode 100644 index 00000000..c1243e40 --- /dev/null +++ b/jimchenhub/0000/add-number-on-picture-PIL.py @@ -0,0 +1,17 @@ +#-*- coding:utf8 -*- +import PIL +from PIL import Image +from PIL import ImageDraw + +# get the image +file = "head.jpg" +img = Image.open(file) +width, height = img.size[0], img.size[1] +print width, height +# Draw the image +draw = ImageDraw.Draw(img) +draw.text((width - 20, height - 20), "4", (255, 0, 0)) +del draw + +# save the image +img.save("target.jpg") \ No newline at end of file diff --git a/jimchenhub/0000/head.jpg b/jimchenhub/0000/head.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8b133ccf245f30023401df0d1783f0a0cbf3562 GIT binary patch literal 37467 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 literal 0 HcmV?d00001 From fff4c12dd5e39dcc5ca628506267fc3acb398e57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=90=95=E5=8A=BC?= Date: Sat, 26 Mar 2016 16:12:01 +0800 Subject: [PATCH 2/4] 03/26 --- jimchenhub/0001/coupon_code.py | 21 ++++++++++ jimchenhub/0002/coupon.txt | 20 +++++++++ jimchenhub/0002/coupon_code_mysql.py | 63 ++++++++++++++++++++++++++++ jimchenhub/0003/coupon.txt | 20 +++++++++ jimchenhub/0003/coupon_code_redis.py | 45 ++++++++++++++++++++ jimchenhub/0003/dump.rdb | 1 + 6 files changed, 170 insertions(+) create mode 100644 jimchenhub/0001/coupon_code.py create mode 100644 jimchenhub/0002/coupon.txt create mode 100644 jimchenhub/0002/coupon_code_mysql.py create mode 100644 jimchenhub/0003/coupon.txt create mode 100644 jimchenhub/0003/coupon_code_redis.py create mode 100644 jimchenhub/0003/dump.rdb diff --git a/jimchenhub/0001/coupon_code.py b/jimchenhub/0001/coupon_code.py new file mode 100644 index 00000000..5b022e94 --- /dev/null +++ b/jimchenhub/0001/coupon_code.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python +#-*- encoding:utf-8 -*- +''' +生成长度为10的唯一优惠码,由数字和字母组成 +id + L + 随机码 +''' +import random +import string + +def generate_code(id, length=10): + prefix = hex(int(id))[2:] + "L" + length = length - len(prefix) + chars=string.ascii_letters+string.digits + return prefix + ''.join([random.choice(chars) for i in range(length)]) +def main(): + for i in range(20): + code = generate_code(i) + print code + +if __name__=="__main__": + main() \ No newline at end of file diff --git a/jimchenhub/0002/coupon.txt b/jimchenhub/0002/coupon.txt new file mode 100644 index 00000000..6da3663c --- /dev/null +++ b/jimchenhub/0002/coupon.txt @@ -0,0 +1,20 @@ +0L2IFj2oMm +1LwfzIE95r +2LfT3vChTl +3L5YkbNQMw +4LPHA8kegU +5LN68DBVlX +6LLwRFIxrM +7L6a71Sd1h +8LGBuAjL4D +9Lk7yYjFok +aLcpxO3DtU +bLynaJ8QOE +cLsFI8pD3a +dLcmdyFKle +eLr45vcdKl +fLLCUwWOqf +10LYxg37Rr +11LHlWDPBB +12L7NJ3y8Z +13LcD7JDzN \ No newline at end of file diff --git a/jimchenhub/0002/coupon_code_mysql.py b/jimchenhub/0002/coupon_code_mysql.py new file mode 100644 index 00000000..cbc94053 --- /dev/null +++ b/jimchenhub/0002/coupon_code_mysql.py @@ -0,0 +1,63 @@ +#!/usr/bin/env python +#-*- encoding:utf-8 -*- +''' +save coupon code into mysql database +''' +import random +import string +import MySQLdb + +config = { + "host":'localhost', + "port" : 3306, + "user":'root', + "passwd":'jim', + "db" :'python' + } + +class Save_to_mysql: + def __init__(self, code_file, config): + self.code_file = code_file + self.config = config + + def connect_db(self): + try: + conn= MySQLdb.connect(host=self.config["host"], port=self.config["port"], user=self.config["user"], passwd=self.config["passwd"], db=self.config["db"]) + except MySQLdb.Error, e: + try: + sqlError = "Error %d:%s" % (e.args[0], e.args[1]) + print sqlError + except IndexError: + print "MySQL Error:%s" % str(e) + self.conn = conn + self.cur = conn.cursor() + + def save_code_into_db(self): + f = open("./coupon.txt") + for code in f: + print code + sql = "insert into coupon_code(code) values('"+code+"')" + print sql + try: + self.cur.execute(sql) + except MySQLdb.Error, e: + try: + sqlError = "Error %d:%s" % (e.args[0], e.args[1]) + print sqlError + except IndexError: + print "MySQL Error:%s" % str(e) + f.close() + self.cur.close() + self.conn.commit() + def close_all(self): + self.conn.close() + +def main(): + code_file = "./coupon.txt" + mysql = Save_to_mysql(code_file, config) + mysql.connect_db() + mysql.save_code_into_db() + mysql.close_all() + +if __name__=="__main__": + main() \ No newline at end of file diff --git a/jimchenhub/0003/coupon.txt b/jimchenhub/0003/coupon.txt new file mode 100644 index 00000000..6da3663c --- /dev/null +++ b/jimchenhub/0003/coupon.txt @@ -0,0 +1,20 @@ +0L2IFj2oMm +1LwfzIE95r +2LfT3vChTl +3L5YkbNQMw +4LPHA8kegU +5LN68DBVlX +6LLwRFIxrM +7L6a71Sd1h +8LGBuAjL4D +9Lk7yYjFok +aLcpxO3DtU +bLynaJ8QOE +cLsFI8pD3a +dLcmdyFKle +eLr45vcdKl +fLLCUwWOqf +10LYxg37Rr +11LHlWDPBB +12L7NJ3y8Z +13LcD7JDzN \ No newline at end of file diff --git a/jimchenhub/0003/coupon_code_redis.py b/jimchenhub/0003/coupon_code_redis.py new file mode 100644 index 00000000..a2d6d165 --- /dev/null +++ b/jimchenhub/0003/coupon_code_redis.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python +#-*- encoding:utf-8 -*- +''' +save coupon code into redis +''' +import redis + +config = { + "host":'localhost', + "port":6379, + "db":0 + } + +class Save_to_redis: + def __init__(self, code_file, config): + self.code_file = code_file + self.config = config + + def connect_db(self): + self.r = redis.Redis(host=self.config["host"], port = self.config["port"], db=self.config["db"]) + + def save_code_to_redis(self): + f = open("./coupon.txt") + for code in f: + code = code.strip('\n') + self.r.rpush("coupon_list", code) + f.close() + + def show_code_list(self): + print self.r.lrange("coupon_list", 0, -1) + + def cleanup(self): + while self.r.llen("coupon_list") : + self.r.lpop("coupon_list") + +def main(): + code_file = "./coupon.txt" + redis = Save_to_redis(code_file, config) + redis.connect_db() + redis.save_code_to_redis() + redis.show_code_list() + redis.cleanup() + +if __name__=="__main__": + main() \ No newline at end of file diff --git a/jimchenhub/0003/dump.rdb b/jimchenhub/0003/dump.rdb new file mode 100644 index 00000000..56af04ea --- /dev/null +++ b/jimchenhub/0003/dump.rdb @@ -0,0 +1 @@ +REDIS0006ܳCZV \ No newline at end of file From f9b6f2be868019308861b1614e0919beaaa3512d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=90=95=E5=8A=BC?= Date: Sat, 26 Mar 2016 18:01:34 +0800 Subject: [PATCH 3/4] 0004 & 0005 --- .../0000/add-number-on-picture-OpenCV.py | 2 +- jimchenhub/0000/add-number-on-picture-PIL.py | 2 +- jimchenhub/0004/content.txt | 2 ++ jimchenhub/0004/count_words.py | 14 ++++++++++++++ jimchenhub/0005/change_image_size.py | 17 +++++++++++++++++ jimchenhub/0005/head.jpg | Bin 0 -> 37467 bytes 6 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 jimchenhub/0004/content.txt create mode 100644 jimchenhub/0004/count_words.py create mode 100644 jimchenhub/0005/change_image_size.py create mode 100644 jimchenhub/0005/head.jpg diff --git a/jimchenhub/0000/add-number-on-picture-OpenCV.py b/jimchenhub/0000/add-number-on-picture-OpenCV.py index 97c094e7..166c4d06 100644 --- a/jimchenhub/0000/add-number-on-picture-OpenCV.py +++ b/jimchenhub/0000/add-number-on-picture-OpenCV.py @@ -3,7 +3,7 @@ import numpy as np img = cv2.imread("./head.jpg") -width, height = img.shape[0], img.shape[1] +height, width = img.shape[0], img.shape[1] font=cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,'4',(width - 40, 40), font, 1,(0, 0, 255),2) diff --git a/jimchenhub/0000/add-number-on-picture-PIL.py b/jimchenhub/0000/add-number-on-picture-PIL.py index c1243e40..2b3b3ea4 100644 --- a/jimchenhub/0000/add-number-on-picture-PIL.py +++ b/jimchenhub/0000/add-number-on-picture-PIL.py @@ -10,7 +10,7 @@ print width, height # Draw the image draw = ImageDraw.Draw(img) -draw.text((width - 20, height - 20), "4", (255, 0, 0)) +draw.text((width - 20, 20), "4", (255, 0, 0)) del draw # save the image diff --git a/jimchenhub/0004/content.txt b/jimchenhub/0004/content.txt new file mode 100644 index 00000000..31e2164b --- /dev/null +++ b/jimchenhub/0004/content.txt @@ -0,0 +1,2 @@ +one two three. +four \ No newline at end of file diff --git a/jimchenhub/0004/count_words.py b/jimchenhub/0004/count_words.py new file mode 100644 index 00000000..1167e45b --- /dev/null +++ b/jimchenhub/0004/count_words.py @@ -0,0 +1,14 @@ +#! /usr/bin/env python +#-*- encoding: utf-8 -*- + +import re + +def count_words_num(file_name): + f = open(file_name, "rb") + content = f.read() + words = re.findall(r"[a-zA-Z0-9]+", content) + return len(words) + +if __name__=='__main__': + file_name = "./content.txt" + print count_words_num(file_name) \ No newline at end of file diff --git a/jimchenhub/0005/change_image_size.py b/jimchenhub/0005/change_image_size.py new file mode 100644 index 00000000..24966faa --- /dev/null +++ b/jimchenhub/0005/change_image_size.py @@ -0,0 +1,17 @@ +#! /usr/bin/env python +#-*- encoding: utf-8 -*- + +import cv2 +import numpy as np + +# static value for iphone 5 +I5_WIDTH = 640.0 +I5_HEIGHT = 1136.0 +#get basic value for calculate zooming rate +img = cv2.imread("./head.jpg") +height, width = img.shape[0], img.shape[1] +zoomR = max(I5_WIDTH/width, I5_HEIGHT/height) +# resize the image +target = cv2.resize(img,(width/zoomR,height/zoomR),interpolation=cv2.INTER_CUBIC) +#save target image +cv2.imwrite("target.jpg", target) \ No newline at end of file diff --git a/jimchenhub/0005/head.jpg b/jimchenhub/0005/head.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8b133ccf245f30023401df0d1783f0a0cbf3562 GIT binary patch literal 37467 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 Date: Sat, 26 Mar 2016 19:06:51 +0800 Subject: [PATCH 4/4] 0008 & 0009 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 学习了新的BeautifulSoup库 --- jimchenhub/0008/find_text.py | 17 +++++++++++++++++ jimchenhub/0009/find_text.py | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 jimchenhub/0008/find_text.py create mode 100644 jimchenhub/0009/find_text.py diff --git a/jimchenhub/0008/find_text.py b/jimchenhub/0008/find_text.py new file mode 100644 index 00000000..275bc6d6 --- /dev/null +++ b/jimchenhub/0008/find_text.py @@ -0,0 +1,17 @@ +#!/usr/bin/env python +#-*- encoding: utf-8 -*- +''' +0008:一个HTML文件,找出里面的正文。 +''' +import urllib2 +from bs4 import BeautifulSoup + +def find_text_in_html(url): + content = urllib2.urlopen(url).read() + soup = BeautifulSoup(content, "html.parser") + for string in soup.stripped_strings: + print string + +if __name__=="__main__": + url = "https://github.com/Yixiaohan/show-me-the-code" + find_text_in_html(url) \ No newline at end of file diff --git a/jimchenhub/0009/find_text.py b/jimchenhub/0009/find_text.py new file mode 100644 index 00000000..11d3fc83 --- /dev/null +++ b/jimchenhub/0009/find_text.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python +#-*- encoding: utf-8 -*- +''' +0009:一个HTML文件,找出里面的链接。 +''' +import urllib2 +from bs4 import BeautifulSoup + +def show_href(url): + content = urllib2.urlopen(url).read() + + soup = BeautifulSoup(content, "html.parser") + for tag in soup.find_all('a'): + print tag['href'] + + +if __name__ == '__main__': + show_href('https://github.com/Yixiaohan/show-me-the-code')