python编程快速上手之第15章实践项目参考答案(17.7.1)

#! python3
# resizeAndAddLogo.py - Resizes all images in current working directory to fit
# in a 300x300 square, and adds catlogo.png to the lower-right corner.

import os
from PIL import Image

os.chdir(‘C:\\Users\\Administrator\\Python35-32\\test\\kuaisu\\科幻‘)#设置文件路径
SQUARE_FIT_SIZE = 500 #设置图片修改大小
LOGO_SIZE=80     #设置LOGO大小,原图有800像素,太大了,设为80
LOGO_FILENAME = ‘catlogo.png‘

logoIm = Image.open(LOGO_FILENAME)
logoIm = logoIm.resize((LOGO_SIZE, LOGO_SIZE))
logoWidth, logoHeight = logoIm.size

os.makedirs(‘withLogo‘, exist_ok=True)
# Loop over all files in the working directory.
for filename in os.listdir(‘.‘):
    if not (filename.endswith(‘.png‘) or filename.endswith(‘.jpg‘)             or filename.endswith(‘.PNG‘) or filename.endswith(‘.JPG‘))        or filename == LOGO_FILENAME:
        continue # skip non-image files and the logo file itself

    im = Image.open(filename)
    im = im.convert(‘RGB‘)
    width, height = im.size

    # Check if image needs to be resized.
    if width > SQUARE_FIT_SIZE and height > SQUARE_FIT_SIZE:
        # Calculate the new width and height to resize to.
        if width > height:
            height = int((SQUARE_FIT_SIZE / width) * height)
            width = SQUARE_FIT_SIZE
        else:
            width = int((SQUARE_FIT_SIZE / height) * width)
            height = SQUARE_FIT_SIZE

        # Resize the image.
        print(‘Resizing %s...‘ % (filename))
        im = im.resize((width, height))

    # Add logo.
    if min(width, height) >= 2*int(LOGO_SIZE):
      print(‘Adding logo to %s...‘ % (filename))
      im.paste(logoIm, (width - logoWidth, height - logoHeight),logoIm)

    # Save changes.
      im.save(os.path.join(‘withLogo‘, filename))
时间: 2024-10-10 21:30:50

python编程快速上手之第15章实践项目参考答案(17.7.1)的相关文章

python编程快速上手之第15章实践项目参考答案(17.7.3)

#! python3 # encoding: UTF-8 import os,docx from PIL import Image, ImageDraw from PIL import ImageFont os.chdir('C:\\Users\\Administrator\\Python35-32\\test\\kuaisu') guests = open('guests.txt') logoIm = Image.open('flowerlogo.jpg') width, height = l

python编程快速上手之第15章实践项目参考答案(17.7.2)

#! python3 # Import modules and write comments to describe this program. import zipfile, os from PIL import Image from PIL import ImageFile #os.chdir('D:\\My Documents\\') ImageFile.LOAD_TRUNCATED_IMAGES = True for foldername, subfolders, filenames i

python编程快速上手之第10章实践项目参考答案

  本章主要讲了python程序的调试,当程序有BUG或异常的时候,我们如何调试代码找出问题点.其实在本章之前的章节我们做练习的时候都会遇到各种各样的错语和异常,最初当不知道程序哪里出错的情况下不可否认的都使用了print语句进行输出并调试代码.没错print也是调试代码的一种工具,直观简单,便也有缺点,就是调试好后要进行删除,也是件麻烦事,于是就有了本章介绍的assert(断言),logging(日志)以及各种调试工具的出现. 首先来回顾一下python的异常. 一.python常见的异常类型

python编程快速上手之第8章实践项目参考答案

第8章实践项目之疯狂填词 创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本. 首先准备一个a.txt的文本文件 程序代码如下: #!/usr/bin/env python3.4 # coding:utf-8 # 8.9.2 import re f1 = open('a.txt','r') strf1 = f1.read() print("原文件内容为:") print(s

python编程快速上手之第6章实践项目参考答案

#!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','oranges','cherries','banana'], 6 ['Alice','Bob','Carol','David'], 7 ['dogs','cats','moose','goose']] 8 # 要求输出如下: 9 # apples Alice dogs 10 # dranges Bob

python编程快速上手之第5章实践项目参考答案

1 #!/usr/bin/env python3.5 2 # coding:utf-8 3 # 5.6.1 4 # 好玩游戏的物品清单 5 # 给定一个字典,包含物品名称和数量,并打印出数量对应的物品 6 7 dict_stuff = {'rope':1,'torch':6,'gold coin':42,'dagger':1,'arrow':12} 8 print("5.6.1参考答案") 9 print('=' * 80) 10 print("给定字典:",dic

python编程快速上手之第3章实践项目参考答案

1 #!/usr/bin/env python 2 # coding:utf-8 3 # write by mfyang 4 # collatz.py 5 # 从用户读入一个值,并判断这个值是不是一个int类型的整数,如果不是给出异常提示 6 # 如果这个值是偶数 那么让这个数//2 7 # 如果这个值是奇数 那么让这个数 ×3 + 1 8 # 通过不断调用函数的返回值 并打印这个返回值 直到这个返回值为1 9 10 num = raw_input("please input a number:

python编程快速上手之第12章实践项目参考答案(12.13.3)

1 #! python3 2 import openpyxl,os,glob 3 os.chdir('C:\\Users\\Administrator\\Python35-32') 4 list=glob.glob('*.txt') 5 print(list) 6 wb = openpyxl.Workbook() 7 sheet = wb.get_active_sheet() 8 columnNum=0 9 for fliename in list: 10 file_object = open(

python编程快速上手之第9章实践项目参考答案(9.8.3)

勉强实现了,不是很满意.需要要手动循环,不知有高人可以指教否? 1 import os,shutil,re 2 sourcefolder ='C:\\Users\\Administrator\\Python35-32\\test\\dismissno'#指定文件夹 3 os.chdir(sourcefolder) 4 for m in range(100): #循环100次 5 for folderName, subfolders, filenames in os.walk(sourcefold