Python学习
判断是否已安装:
1 2
| pip --version pip3 --version
|
如果您的 Python 环境没有安装 pip,pip 的维护人员直接支持两种安装 pip 的机制:
ensurepip
Python 带有一个 ensurepip
模块[1],它可以在 Python 环境中安装 pip。
1
| C:> py -m ensurepip --upgrade
|
get-pip.py
这是一个 Python 脚本,它使用一些引导逻辑来安装 pip。
升级pip
通过运行以下命令升级您的pip
:
1
| C:> py -m pip install --upgrade pip
|
保留几位小数
’% .2f‘%(保留两位)
xlrd模块学习
–>import xlrd (导入模块)
–Excel文件 = xlrd.open_workbook(“文件名称”)(打开文件)
–>工作簿 = 文件.sheet_by_index(指定工作簿)(选择工作簿)
–>列表1=工作簿.col_values(指定列)
xlwt模块学习
–>import xlwt(导入模块)
–>Excel文件 = xlwt.Workbook(encoding = ‘utf-8’)(创建一个workbook,并设置编码)
–>工作簿 = Excel文件.add_sheet(‘工作簿名称’)(添加sheet)
–>工作簿.write(1, 0, label = ‘表头标题’)(写入excel工作簿,参数对应 行,列,值)
–>Excel文件.save(‘Excel文件名’)(保存)
–>样式 = xlwt.XFStyle()(初始化样式)
–>字体 = xlwt.Font()(为样式创建字体)
–>字体.name = ‘字体名称’–字体.bold = True
–>字体.underline = True(下划线)
–>样式.font = 字体
–>工作簿.write(0, 0, ‘带样式的单元格’,样式)(带样式的写入)
–>工作簿.col(0).width = 3000(设置单元格宽度)
–>pattern = xlwt.Pattern()(创建模式对象Create the Pattern)
–>pattern.pattern = xlwt.Pattern.SOLID_PATTERN(My be: NO_PATTERN, SOLID_PATTERN, or 0x00 through 0x12)
–>style = xlwt.XFStyle()(创建样式对象Create the Pattern)
–>style.pattern = pattern(将模式加入到样式对象Add Pattern to Style)–工作簿.write(0, 0, ‘单元格内容’,style)(向单元格写入内容时使用样式对象style)
–>style.alimgnment.wrap = 1(设置自动换行)
–>Excel文件.save(‘Excel文件名’)(保存)
PyMysql模块
–> import pymysql (导入模块)
–> db = pymysql.connect(host=‘本机地址’,user=‘用户名’,password=‘用户密码’,database=‘数据库名’,port=‘主机端口’,charset=‘编码方式’)(获取本地连接)
–> sql = ‘select * from where i < %s’(sql模板语句)
–> curses = db.cursor()(获取连接的控制台对象)
–> curses.executemany(参数1:sql模板,参数2:[(),(),()]列表-元组)(在控制台要执行的sql语句)(批量添加)execute(单个执行)
–> curses.fetchone()(查询集合中一条数据返回一个元组)
–> curses.fetchall()(查询集合中所有数据返回一个元组)
–> db.commit()(提交连接数据到数据库)
–> db.rollback()(撤销连接数据)
–> courses.close()(关闭控制台)
–> db.close()(关闭连接)
单元测试-参数自动化(ddt)
–> 导入包
1
| from ddt import ddt, data, unpack
|
–> 使用
1 2 3 4 5 6 7 8 9
| @ddt class Test_Calc(unittest.TestCase):
@data(*[[a,b,c],[a,b,c]]) @unpack def test_Sum(self, a, b, c): calc = Calculator() s = calc.Sum(a, b) self.assertEqual(c, s)
|
自动执行单元测试用例生成测试报告
–>导入包
1 2
| from HTMLTestRunner import HTMLTestRunner import unittest
|
–>使用
1 2 3 4 5 6 7 8 9
| test_Calculator = unittest.defaultTestLoader.discover('F:\Python学习\Python_Learn\Calculator_Test', pattern='Test*.py')
Runner = HTMLTestRunner.HTMLTestRunner( title='计数器的加法-减法-乘法-除法测试', description='展示加法-减法-乘法-除法测试的报告', verbosity=2, stream=open(file='计算器测试报告.html', mode='w+', encoding='utf-8') ) Runner.run(test_Calculator)
|
SMTP邮箱发送模块
–>导入包
1 2 3
| from email.mime.multipart import MIMEMultipart import smtplib from email.mime.text import MIMEText
|
–>使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| """ 邮件格式-附件格式 message = MIMEMultipart() message['From'] = '13142462887@163.com' message['To'] = '13142462887@163.com' message['Subject'] = '陈虎的计算器的加法-减法-乘法-除法的测试报告' message.attach(MIMEText('测试报告', 'plain', 'utf-8'))
pfile = '计算器测试报告.html' pdffile = MIMEApplication(open(pfile, 'rb').read()) pdffile.add_header('Content-Disposition', 'attachment', filename=pfile) message.attach(pdffile) """ """ 邮件格式-HTML格式 with open('F:\Python学习\Python_Learn\Calculator_Test\计算器测试报告.html', 'rb') as file: mail_body = file.read() message = MIMEText(mail_body, 'html', 'utf-8') msg = MIMEMultipart('mixed') msg.attach(message) message['From'] = '13142462887@163.com' message['To'] = '13552648187@163.com' message['Subject'] = '陈虎的计算器的加法-减法-乘法-除法的测试报告' """
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| with open('F:\Python学习\Python_Learn\Calculator_Test\计算器测试报告.html', 'rb') as file: mail_body = file.read() message = MIMEText(mail_body, 'html', 'utf-8') msg = MIMEMultipart('mixed') msg.attach(message) message['From'] = '13142462887@163.com' message['To'] = '13552648187@163.com' message['Subject'] = 'Test_calc_陈虎'
try: Server = smtplib.SMTP_SSL('smtp.163.com', 465) Server.login('13142462887@163.com', 'YUSJGLEQZKELPLNI') Server.sendmail('13142462887@163.com', '13552648187@163.com', message.as_string()) Server.quit() print("邮件发送成功") except smtplib.SMTPException: print("Error: 无法发送邮件")
|
问题:
报错:AttributeError: module ‘time’ has no attribute ‘clock’
原因:版本舍弃部分属性方法,版本更新问题
解决:导入time模块
1 2
| import time time.clock = time.perf_counter
|
报错:AttributeError:“ElementTree”对象没有属性“getiterator”
原因:在新版python3.9中,windows中使用的更新删除了getiterator方法,所以我们老版本的xlrd库调用getiterator方法时会报错
解决:
