'''
概述
目前代码比较少,写在一个文件中还体现不出什么缺点,但是随着代码量越来越多,
代码就越来越难以维护
为了解决难以维护的问题,我们把很多相似功能的函数分组,分别放到不同的文件中取。这样每个文件所包含的内容相对较少
而且对于每一个文件的大致功能可以用文件名体现,很多编程语言都是这么来组织结构。一个.py文件就是一个模块
优点:
1、提高代码的可维护度
2、提高了代码的复用度,放一个模块完毕,可以被多个地方引用
3、引用其他的模块(内置模块和三方模块和自定义模块)
4、避免函数名和变量名的冲突
'''
引入模块
#引入模块
import sys
import time
import datetimeprint(sys.argv)#获取命令行参数的列表
for i in sys.argv:print(i)name = sys.argv[1]
age = sys.argv[2]
print(name,age)#自动查找所需模块的路径的列表
print(sys.path)
使用自定义模块 from ...import...语句
#from time import *
#from ...import语句
#作用:从模块中导入一个制定的部分到当前命名空间
# 格式:from module import namel[,name2[,....name3]]
from sunck import sayGood,sayNice
'''
程序内容的函数可以将模块中的同名函数覆盖
def sayGood():print("*******")
'''
sayNice()sayGood()
#from ...import *语句
#作用:把一个模块中所有的内容全部导入当前命名空间
from sunck import *
#z最好不要过多使用
'''
def sayGood():print("*****")
'''
sayGood()
impor 语句
# 引入模块
# import 语句
# 格式:import module1[,module2[,module3[...,moudein]]]
import time, random, os
# 引入自定义模块,不用加.py后缀
import sunck
# 注意:一个模块只会被引入一次,不管你执行了多少次impor
# 防止模块被多次引入#使用模块中的内容
#格式:模块名.函数名/变量名
sunck.sayGood()
print(sunck.TT)
# __name__属性:
# 模块就是一个可执行的.py文件,一个模块被另一个程序引入
# 不想让模块中的某些代码执行,可以用__name__属性来是程序仅调用模块中的一部分
import sunck
'''为了解决模块命名冲突,引入了按目录来阻止模块的方法,称为包特点:引入了包以后,只要顶层的包不予其他人发生冲突,难么模块都不会与别人的发生冲突注意目录只有包含一个叫做“__init__"的文件才被人做是一个包,主要避免一些滥竽充数的名字
基本上目前这个文件
'''
#引入了三方库
from PIL import Image
#打开图片
im = Image.open("1.jpg")
#查看图片的信息
print(im.format, im.size, im.mode)
#设置图片的大小
im.thumbnail((15000, 10000))
#保存成新图片
im.save("temp.jpg", "JPEG")