python 入门学习
一周掌握 python 入门知识
学习目标:
模块编程部分:用python解决各种工作问题
1、 模块和包
2、常用模块——os & sys
3、常用模块——time & datetime
4、常用模块——random
5、常用模块——excel处理
6、常用模块——邮件发送
学习内容:
1、 模块和包
好处
- 提高了代码的可维护性
- 避免了函数名和变量名的冲突
分类
- 内置标准模块(标准库),300多个
- 第三方开源模块
- 自定义模块
调用
import model_a #导入
import os
os.
#from model import xx #导入某个模块下的某个方法 or 子模块
from os import system
system("df -h")
#from model.xx.xx import xx as rename #导入后一个方法后重命名
from django.contrib.auth import authenticate as auth
auth()
#from model.xx.xx import * 导入一个模块下的所有方法(不建议使用)
from os import *
system("df -h")
mkdir("testd")
可能出现问题
def chomd():
from os import *
chomd("df -h") #这调用的是下面库的chomd函数
#model_a.xxx 调用
- 自定义模块
my_firstmode.py
def sayHi():
print("调用中。。。")
print("后面的代码。。。")
import my_firstmode #相当于 python my_firstmode.py
my_firstmode.sayHi()
导入不在同一级别目录下,得改一改路径才能调用到
动态的导入自己的自定义模块
import sys
import os
#day6path='F:/86187/python/python_file'
print(__file__) #打印当前脚本文件路径
print(os.path.dirname(__file__)) #打印当前脚本文件路径
base_path=os.path.dirname(os.path.dirname(__file__))
sys.path.append(base_path)
print(sys.path) #模块 查找 路径
import my_firstmode
第三方开源模块
pip install 模块名
如果官网下载有问题或者太慢,可以使用国内的镜像的网站,会快一些,这个在python解释器的管理库中添加镜像网站即可。
包的使用
也就是一个文件目录
A2_mode.py
import sys
print(sys.path)
from python_file.B.B2 import B2_mode
B的_init_.py
print("B的init")
B2的_init_.py
print("B2的init")
B2_mode.py
print("我是B2mode")
2、常用模块——os & sys
import sys
sys.path #获取系统的环境变量
sys.argv #获取系统的脚本参数
3、常用模块——time & datetime
4、常用模块——random
5、常用模块——excel处理—openpyxl模块
- 打开excel
创建
from openpyxl import Workbook
wb=Workbook()
sheet = wb.active
print(sheet.title)
sheet.title="salary_list"
wb.save("excel_test.xlsx")
import datetime
#写数据
sheet["B9"]="blackpink"
sheet["C9"]="20201228"
#添加行
sheet.append(["lisa",23,"Thailand"])
#加时间
sheet["A1"]=datetime.datetime.now().strftime("%Y-%m-%d")
wb.save("excel_test.xlsx")
打开已有文件
#打开已有文件
from openpyxl import Workbook,load_workbook
wb=load_workbook("111.xlsx")
print(wb.sheetnames)
- 花式遍历
#获取指定列的切片数据
# for cell in sheet["K3:K10"]:
# print(cell[0].value)
for row in sheet:
print(row)
for cell in row:
print(cell.value,end=",")
print()
#按行遍历
for row in sheet:
for cell in row:
print(cell.value,end=",")
print()
#按列遍历
for col in sheet.columns:
for cell in col:
print(cell.value,end=",")
print()
#遍历指定行&列
for row in sheet.iter_rows(min_row=3,max_row=7,max_col=5):
for cell in row:
print(cell.value,end=",")
print()
- 修改单元格样式
#修改单元格样式
from openpyxl.styles import Font,colors,Alignment
myfont=Font(name="宋体",size=20,italic=True,color=colors.BLUE)
sheet["A3"].font=myfont
sheet["A3"].alignment=Alignment(vertical='center',horizontal="center")
sheet.row_dimensions[2].height=40
sheet.column_dimensions["C"].width=30
wb.save("111.xlsx")
6、常用模块——邮件发送—smtplib模块
SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传输邮件的规则,由他来控制信件的中转方式。
-
发送简单邮件
1.登录邮件服务器(smtplib模块)
IP==住址 192.168.1.10
mail service
http service
ftp service
ip+port 端口 (最多65535个)
2.构造符合邮件协议规则要求的邮件内容(email模块)
3.发送(smtplib模块)
-
发送HTML格式邮件
-
在邮件中带图片