
Python
FLPython
这个作者很懒,什么都没留下…
展开
-
Python--Lambda
python 使用lambda 表达式来创建匿名函数lambda只是一个表达式,函数体比def简单很多lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去lambda函数拥有自己的名字空间,且不能访问自有参数列表之外或全局名字空间里的参数虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存原创 2017-07-13 22:42:36 · 237 阅读 · 0 评论 -
Python--操作excel之xlsxwriter
xlsxwriter原创 2017-11-03 07:55:05 · 3194 阅读 · 1 评论 -
Python--生成二维码
Python可以使用qrcode这个包来生成二维码图片 qrcode依赖Image这个包 所以安装方法:pip install Imagepip install qrcode安装完后,就会有一个qr命令,可以使用这个命令来制作二维码图片:qr https://www.baidu.com > test.png注意:如果输入的链接是用引号包起来的,那么使用手机扫描生成后的图片是不会自动跳转的,会被原创 2017-11-19 22:19:54 · 1520 阅读 · 0 评论 -
Python--比较文件内容
如果想用python去实现文件内容比较,不需要自己去实现比较算法,使用python标准库中的difflib就可以实现import sysimport difflibdef read_file(filename): try: with open(filename, 'r') as f: return f.readlines() exc...原创 2018-04-22 20:04:36 · 14801 阅读 · 2 评论 -
Python--使用psutil获取系统信息
系统相关函数CPUpsutil.cpu_times(percpu=False)>>> import psutil>>> psutil.cpu_times()scputimes(user=121990.06, nice=1303.46, system=46290.16, idle=29968135.79, iowait=33861.26...原创 2018-05-06 14:24:04 · 1447 阅读 · 0 评论 -
Python--冒泡排序
import osdef main(): list1 = [9,4,2,5,3,6] bubble_sort(list1) print(list1)def bubble_sort(interable): index = 0 length = len(interable) while True: exchange_flag = ...原创 2018-06-03 09:16:45 · 259 阅读 · 0 评论 -
Python--快速排序算法
快速排序是一种常用的排序算法,也是最快的排序算法之一,运行时间为O(n logn),算法主要使用了递归和分治思想,简单明了def quicksort(array): # 递归出口条件,当数组为[]或只有一个元素时不需要排序,直接返回 if len(array) < 2: return array else: # 选取一个基准值 ...原创 2018-05-22 22:47:00 · 150 阅读 · 0 评论 -
Python--读写Oracle
最近项目中需要用到Python调用Oracle实现读写操作,踩过很多坑,历尽艰辛终于实现了。性能怎样先不说,有方法后面再调优嘛。现在把代码和注意点记录一下。1.所需Python工具库cx_Oracle,pandas,可以使用通过控制台使用pip进行安装2. 实现查询操作import pandas as pdimport cx_Oracleimport os # 注:设...转载 2018-07-15 07:55:35 · 5316 阅读 · 0 评论 -
Python--PEP8编码风格
1.变量Python中有两种变量常量公有和私有变量1.1 常量对于全局常量变量,使用大写加下划线,它告诉开发人员,指定的变量表示一个常数值。好的做法是将所有常量集中放在包中的一个文件内。1.2 共有和私有变量对于可以通过导入自由访问的全局变量,如果它们需要被保护,那么应该使用带一个下划线的小写字母来命名,这种方式不经常使用,因为如果它们需要被保护,模块通常会提供get...原创 2018-07-15 17:04:56 · 207 阅读 · 0 评论 -
Python--标准测试工具unittst
unittest是最常见的Python单元测试框架,它提供了一个名为TestCase的基类,它有一组非常广泛的方法来验证函数调用和语句的输出。 该模块是为了编写单元测试而创建的,但是只要测试使用用户接口,验收测试也可以用它来编写。看一个为primes.py模块编写的简单测试用例import unittestfrom primes import is_primesclass ...原创 2018-07-15 22:27:48 · 306 阅读 · 0 评论 -
Python3.6新特性(部分)
概览Python3.6.0于2016年12月23日发布,与3.5版本相比,添加了以下新特性,详情请看python3.6发布日志。新的语法特性:格式化字符串字面值数字字符串中支持下划线变量注释的语法异步生成器异步列表推导新的模块添加了一个安全模块secrets到标准库中CPython实现改进字典基于Raymond Hettinger的建议使用更紧凑的...原创 2018-08-10 09:49:29 · 1650 阅读 · 0 评论 -
Python处理json键重复问题
Python字典的键是不允许重复的,json字典的键可以重复,如果要用Python构建一个键重复的json字符串该怎么处理好呢我只想到了两个较简单的方法来达到这个目的方法一把有重复键值的部分先用一个特殊字符串标记,然后构造出有键重复的json字符串,然后替换进去import jsonjson_data = {"params": "XXX"}params_str = '{"key": "...原创 2019-05-02 08:13:10 · 3312 阅读 · 0 评论 -
Python--多线程和多进程
python中最重要的并发模型:多线程多进程异步编程并行是并发概念的一个子集,你可以编写有多个线程或进程的并发程序,但是如果不是在多核处理器上执行这个程序,那么就不能以并行的方式来运行代码。多线程什么是多线程程序员可以将他或她的工作分拆到线程中,这些线程同时运行并共享同一内存上下文。线程之间共享同样的上下文,这意味着你必须保护数据,避免并发访问这些数据。如果两个线程更新相同的没有...原创 2019-07-31 11:49:12 · 328 阅读 · 0 评论 -
Python--异步编程
同步和异步同步:调用一个函数,返回结果是自己去获取的,不管是阻塞还是非阻塞异步:调用一个函数,返回结果是别人通过通知、回调等方式给你的在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了。多线程和多进程虽然解决了并发问题,但是系统不能无上限的增加线程,由于系统切换线程的开销也很大,所以,一旦线程数量过多,CPU的时间就花在线程切换上了,会导致性能下降。为...原创 2019-07-31 11:52:39 · 372 阅读 · 0 评论 -
Scrapy--使用phantomjs爬取花瓣网图片
scrapy原创 2017-10-29 22:38:41 · 990 阅读 · 0 评论 -
Scrapy--爬取全国天气信息
爬取全国天气信息原创 2017-10-29 13:42:28 · 951 阅读 · 6 评论 -
Python--键值对配置文件处理
写入文件:import ConfigParserconfig = ConfigParser.RawConfigParser()config.add_section('Section1')config.set('Section1', 'an_int', '15')config.set('Section1', 'a_bool', 'true')config.set('Section1原创 2017-07-13 23:11:22 · 1757 阅读 · 0 评论 -
Python--CSV文件处理
CSV( Comma Separated Values),是最常见的从电子表格和数据库中导入和导出的数据类型。csv.reader(csvfile, dialect='excel', **fmtparams)参数中的csvfile可以是任何支持迭代的对象。文件和列表对象都支持,如果是文件对象,必须有使用‘b'标志打开。class excel:delimi原创 2017-07-13 23:13:12 · 1125 阅读 · 0 评论 -
Python--序列化之pickle
pickle模块实现了二进制序列化和反序列化Python对象。原创 2017-07-31 07:41:16 · 435 阅读 · 0 评论 -
Python--pip使用代理
有些公司访问外部网络时需要使用代理,这时候pip可以设置–proxy使用代理,以安装paramiko包为例:pip install paramiko --proxy http://username:password@url:port原创 2017-08-07 22:51:19 · 1728 阅读 · 0 评论 -
Python--UDP时间服务器
Python UDP时间服务器原创 2017-08-08 07:56:15 · 696 阅读 · 0 评论 -
Python--正则表达式
表 1-1 常见正则表达式符号和特殊字符表示法描述正则表达式示例符号literal匹配文本字符串的字面值 literalfoore1|re2匹配正则表达式 re1 或者 re2foo|bar.匹配任何字符(除了\n之外)b.b^匹配字符串起始部分^Dear$匹原创 2017-07-13 22:27:52 · 223 阅读 · 0 评论 -
Python--日志模块Logging
日志在程序中是很重要且必要的,有良好日志记录的程序,在定位问题的时候能快速帮你找到问题的原因。Python标准库的Logging提供了一些方便的函数,有debug()、info()、warning()、error()和critical()。可以很方便的在程序中使用它们。执行的动作最好的方式在一个命令行脚本或程序中显示使用说明到控制台print()原创 2017-07-24 06:27:21 · 656 阅读 · 0 评论 -
Python--如何排序
Python内置的list.sort()方法可以原地修改列表,进行排序,同时还有sorted()内置方法对一个可迭代对象进行排序,并返回排序后的列表。基本排序简单的升序排序非常简单,只需调用sorted()函数>>> sorted([2,3,5,48,7])[2, 3, 5, 7, 48]如果你不需要原来的列表,那么直接使用list.sort()方法是更有效率的>>> li翻译 2017-07-26 07:07:47 · 394 阅读 · 0 评论 -
Python--paramiko模块
paramiko模块为python提供了ssh和sftp连接,在程序中需要远程登陆的shi'h首先需要执行:apt install python3-dev1.SSH连接>>> import paramiko>>> client = paramiko.SSHClient()>>> client.set_missing_host_key_policy原创 2017-07-24 06:43:30 · 256 阅读 · 0 评论 -
Python--random模块
random: 返回区间[0.0, 1.0)之间的实数>>> random.random()0.3096170315326241getrandbits(n): 返回从0到2^n之间的十进制数。>>> random.getrandbits(4)10Luniform(a , b): 返回区间[a, b]内的一个实数>>> random.uniform(10,原创 2017-07-28 06:59:58 · 340 阅读 · 0 评论 -
Python--time模块
尽管time这个模块通常是可用的,但并不是所有的函数在所有的平台上都是可用的,大多数这个模块的函数是调用平台上相同函数名的C方法。1. 介绍一些术语和规定:epoch(新纪元)是时间的起点,在linux上是1970年1月1号的0分0秒,可以使用gmtime( 0 )查看,在time模块中的函数不会处理epoch之前的日期,也不会处理很久以后的日期,在linux上,这个日期是20原创 2017-07-28 07:16:21 · 365 阅读 · 0 评论 -
Scrapy--命令行
Scrapy有两类命令:1.是只能在Scrapy工程中使用的 2.是全局命令,不依赖工程。 全局命令有:startprojectgenspidersettingsrunspidershellfetchviewversion依赖工程的命令:crawlchecklisteditparsebench原创 2017-08-13 16:46:18 · 315 阅读 · 0 评论 -
Python--套接字
套接字 套接字是计算机网络数据结构。在任何类型的通信开始前,网络应用程序必须创建套接字。有两种类型的套接字:基于文件的和面向网络的。 UNIX套接字是我们所讲的套接字的第一个家族,并且拥有一个”家族名字“AF_UNIX,它代表地址家族(address family):UNIX。其他比较旧的系统可能会将地址家族表示成域(domain)或协议家族(protocol family),并使用其缩写PF而原创 2017-08-07 07:20:51 · 535 阅读 · 0 评论 -
Python--TCP时间服务器
实现一个时间服务器,客户端连接上服务端后,客户端发送的消息会加上时间戳后返回。服务端#coding:utf-8from socket import *from time import ctimeHOST = ''PORT = 21567BUFSIZE = 1024ADDR = (HOST,PORT)tcp_ser_socket = socket(AF_INET,SOCK_STREAM)t原创 2017-08-07 08:07:28 · 855 阅读 · 0 评论