摘要:
Python 操作SQLite 如果数据多了存入文件就不太方便了,需要用到数据库 SQLite是一个关系型数据库,比较轻便,没有专门进程或服务维护(如没有用户、角色等),以文件的形式存在,适合小型项目 01 Python项目操作SQLite数据表 (1)创建项目 (2)创建库和表 老师安装了一个软件 阅读全文
posted @ 2019-07-10 19:27
艺杰兮
阅读(241)
评论(0)
推荐(0)
摘要:
准备excel数据 安装第三方包——读史xlrd 写是xlwt 打开excel并读取所有的工作簿 读取excel某个sheet中具体数据 阅读全文
posted @ 2019-07-10 19:19
艺杰兮
阅读(162)
评论(0)
推荐(0)
摘要:
Json也是多语言通用的数据交互格式 创建一个json目录和一个文件 字典表数据转换为json数据——dumps(s代表字符串非复数含义) Json数据转换为字典表——loads(s代表字符串非复数含义) 把数据以json格式写入文件中——dump(注意没有s因为不是转为字符串) 读取json文件— 阅读全文
posted @ 2019-07-10 19:17
艺杰兮
阅读(197)
评论(0)
推荐(0)
摘要:
新建项目3 导入之前的CSV文件 并新建一个py文件 类似29课内容,创建一个项目的虚拟环境 模拟把程序中数据写入CSV文件(注意区分写入一行和写入多行函数区别) 结果:每行多加了一个空行 修改代码,修该改open方法写入时候增加一个参数newline为空 以dict形式写入CSV文件 阅读全文
posted @ 2019-07-10 19:09
艺杰兮
阅读(13223)
评论(0)
推荐(0)
摘要:
很多语言进行数据交互时,用类似txt肯定不方便,很多时候可以用CSV格式的文件,CSV(c表示逗号,s表示分隔,v表示value)即逗号分隔值,TSV表示table键分隔的值 新建一个目录csv 再新建CSV文件(老师从本地数据库导入) 老师用的数据库是SQL Server,从数据库导出CSV文件 阅读全文
posted @ 2019-07-10 19:06
艺杰兮
阅读(765)
评论(0)
推荐(0)
摘要:
今天讲的内容是关于数据文件的读写,我们都知道如果是普通的文本文件就比较简单,我们可以使用自带的open 方法打开我们的文件,可以使用read 和write进行读写 回顾,我们把不同文件的操作放到不同文件里面 新建一个目录txt,并在下面新建一个run的python文件 查看成文文件 读取文件 分别使 阅读全文
posted @ 2019-07-10 19:00
艺杰兮
阅读(311)
评论(0)
推荐(0)
摘要:
01 虚拟环境配置 不同项目可能用到不同的包或者不同的库。 一般情况是都安装到全局,但是这样不太方便,我们可以安装到虚拟环境中,从全局继承过来。这样不同的项目不会互相影响。 另外不同版本的一个解决方案也是用虚拟环境来做。 在项目下创建main文件 现在我不想用全局的解析器, 创建一个目录env文件夹 阅读全文
posted @ 2019-07-10 18:56
艺杰兮
阅读(156)
评论(0)
推荐(0)
摘要:
05参数化装饰器——装饰器更通用 参数化装饰器如何理解,简单理解就是让装饰器可以通用。场景举例,现在有个需求要改某一段文字,既要加<P>标签,又要加<B>,还有加<Div>。是不是意味着需要定义多个装饰器, 答案不需要,可以通过参数化形式共用一个装饰器,传入不同参数就可以了。 001装饰器未使用参数 阅读全文
posted @ 2019-07-10 18:50
艺杰兮
阅读(294)
评论(0)
推荐(0)
摘要:
04 类定义装饰器 上节通过函数定义装饰器,本节通过类定义装饰器 001 定义类装饰器 定义一个类,类里面两个函数,一个构造函数init(),一个调用函数call() 构造函数init时候,传递一个函数func()进来 调用函数call(),用于装饰传递进来的函数 用装饰器类P修饰get_text( 阅读全文
posted @ 2019-07-10 18:47
艺杰兮
阅读(630)
评论(0)
推荐(0)
摘要:
03 函数定义装饰器 前面讲解了装饰器的一些概念和装饰器会用到的函数的知识,接下来讲解装饰器的定义,有两种方式可以定义装饰器一种是通过函数定义,一种是通过类定义。 001函数定义装饰器 如何定义 装饰器名称本身是一个函数,定义时候类似函数一样定义 装饰器需要修饰另外一个函数,所以装饰器需要一个传入一 阅读全文
posted @ 2019-07-10 18:45
艺杰兮
阅读(280)
评论(0)
推荐(0)
摘要:
02函数嵌套及跨域访问 001函数嵌套 要点:返回的函数名有括号返回的是结果,没有括号返回的是对象地址 002函数作用域 阅读全文
posted @ 2019-07-10 18:42
艺杰兮
阅读(220)
评论(0)
推荐(0)
摘要:
装饰器属于高级知识,自己定义装饰器情况较少。但我们会用到包里面或第三方中的装饰器, 01函数基础 001概述 之前在函数定义时,讲过类里面的方法可以通过@staticmethod把方法定义成静态方法或者叫类的方法,从而区别于实例方法。 场景:如对函数添加一些跟踪或者日志功能,或者调试时候验证有效性测 阅读全文
posted @ 2019-07-10 18:41
艺杰兮
阅读(161)
评论(0)
推荐(0)
摘要:
讲一个新模块, 该模块给我们提供一个抽象层,我们的程序最终解决还是要依靠多线程和多进程,但是我们不用考虑多进程和多线程的实现细节,我们通过python封装好的组件,能够快速实现多进程和多线程的编码 当我们解决需求时,需考虑好是IO密集型用多线程还是计算密集型用多进程。该模块下提供了多线程执行器和多进 阅读全文
posted @ 2019-07-10 18:36
艺杰兮
阅读(168)
评论(0)
推荐(0)
摘要:
06 multiprocessing多进程模块 之前讲解了多线程的开发,合理利用多线程可以提高效率,但是由于Python GIL全局解释器锁的限制,多线程更多的适合IO密集型的操作,因为IO密集型会随时释放GIL,这样可以允许更多的并发。所以IO密集型首选多线程。 但是如果是计算密集型,这时候我们可 阅读全文
posted @ 2019-07-10 18:26
艺杰兮
阅读(233)
评论(0)
推荐(0)
摘要:
05队列queue 通俗理解就是排队,典型的保障多线程共享资源的有序操作。 Python提供了模块queue,分为三种队列,先进先出、后进先出(即栈)、优先级别队列(由算法规则决定出的顺序) 001 以先进先出队列为例 代码导入模块 生产者:每隔半秒往队列放入一个随机数,一共放五个 消费者:每次取内 阅读全文
posted @ 2019-07-10 18:21
艺杰兮
阅读(251)
评论(0)
推荐(0)
摘要:
001 场景例子 三人同时往一个框里放鸡蛋,没有锁情况,会出现顺序混乱 结果是混乱的 002改进 声明一个锁 放鸡蛋时候加锁和开锁。或者用with lock: 主函数和程序入口 结果正确 阅读全文
posted @ 2019-07-10 18:17
艺杰兮
阅读(160)
评论(0)
推荐(0)
摘要:
001 例子1:子线程统一执行 代码说明: 声明数组存放线程实例,目的是子线程统一执行开始 threading.Thread()方法的参数说明: 第一个参数group默认为空,无实际意义,为后来版本预留位置 第二个参数target,表示当前线程执行哪个函数 第三个参数args:第二个参数里面函数的是 阅读全文
posted @ 2019-07-10 18:11
艺杰兮
阅读(580)
评论(0)
推荐(0)
摘要:
多线程并非并发编程的唯一技术手段,但是用的比较多的还是多线程。 001 单线程例子 创建文件 002 多线程例子 缺点没有控制进程结束的机制 _thread已经不推荐使用了(所以前面有有个下划线),学习阶段用于实验 (1)新建文件 函数_thread(第一个参数,第二个参数) 第一个参数,只需要写函 阅读全文
posted @ 2019-07-10 17:58
艺杰兮
阅读(229)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2019-07-10 17:55
艺杰兮
阅读(167)
评论(0)
推荐(0)
摘要:
阅读全文
posted @ 2019-07-10 17:51
艺杰兮
阅读(160)
评论(0)
推荐(0)

浙公网安备 33010602011771号