python
Bates chen
这个作者很懒,什么都没留下…
展开
-
ubuntu python虚拟环境管理
https://www.jianshu.com/p/922a17697534转载 2019-10-01 11:03:29 · 374 阅读 · 0 评论 -
python并发编程----对《cookbook》第十二章补充--12.2 判断线程是否已经启动
问题你已经启动了一个线程,但是你想知道它是不是真的已经开始运行了。解决方案线程的一个关键特性是每个线程都是独立运行且状态不可预测。如果程序中的其他线程需要通过判断某个线程的状态来确定自己下一步的操作,这时线程同步问题就会变得非常棘手。为了解决这些问题,我们需要使用threading库中的Event对象。Event对象包含一个可由线程设置的信号标志,它允许线程等待某些事件的发...转载 2019-05-24 10:23:16 · 262 阅读 · 0 评论 -
python并发编程----对《cookbook》第十二章补充--12.1 启动与停止线程
问题你要为需要并发执行的代码创建/销毁线程解决方案threading库可以在单独的线程中执行任何的在 Python 中可以调用的对象。你可以创建一个Thread对象并将你要执行的对象以 target 参数的形式提供给该对象。 下面是一个简单的例子:# Code to execute in an independent threadimport timedef count...转载 2019-05-24 10:22:17 · 138 阅读 · 0 评论 -
多线程-condition
https://www.cnblogs.com/yoyoketang/p/8337118.html# coding=utf-8import threadingimport timecon = threading.Condition()num = 0# 生产者class Producer(threading.Thread): def __init__(self...转载 2019-05-23 12:59:42 · 236 阅读 · 0 评论 -
模块
import如何工作导入其实是运算时的运算,程序第一次导入指定文件时,会执行三个步骤。1、搜索:找到模块文件2、编译:编译成位码(需要时)3、执行模块的代码来创建其所定义的对象。从技术上讲,Python把载入的模块存到一个名为sys.modules的表中,并在一次导入操作的开始检查该表。如果模块不存在,将会启动三个步骤的过程。1、搜索路径和后缀是可以省略掉的,因为Pyt...原创 2019-05-12 13:58:02 · 88 阅读 · 0 评论 -
python并发编程----对《cookbook》第十二章补充--给关键部分加锁
问题你需要对多线程程序中的临界区加锁以避免竞争条件。解决方案要在多线程程序中安全使用可变对象,你需要使用 threading 库中的Lock对象,就像下边这个例子这样:import threadingclass SharedCounter: ''' A counter object that can be shared by multiple thread...转载 2019-05-25 09:06:49 · 125 阅读 · 0 评论 -
函数高级话题
1、函数内省(系统自带属性)2、函数自定义属性:可以直接把状态信息附加到函数对象,而不必使用全局、非本地和类等其它技术。即函数运行结束后仍然会保留状态信息。3、函数注解1)函数的注解编写在函数头部2)参数注解出现在紧随参数名后的冒号之后3返回值注解紧随在函数参数列表之后的->之后...原创 2019-05-04 13:36:44 · 224 阅读 · 0 评论 -
不定长参数
Keyword-Only参数(必须只按照关键字传递并且不会由一个位置参数来填充的参数)1、出现在参数列表中的*args之后的参数,都需要用关键字语法来传递2、参数列表中使用一个*字符,来表示一个函数不会接受一个可变参数列表,而是期待跟在*后的所有参数都采用关键字传递。注意:keyword-only参数必须在一个单星号后面指定,而不是两个星号---命名的参数不能...原创 2019-05-04 11:16:17 · 133 阅读 · 0 评论 -
函数工厂--能够记住嵌套作用域值的函数,尽管那个作用域或许已经不存在了
原创 2019-05-03 15:31:09 · 104 阅读 · 0 评论 -
python并发编程----对《cookbook》第十二章补充--12.3 线程间通信
问题你的程序中有多个线程,你需要在这些线程之间安全地交换信息或数据解决方案从一个线程向另一个线程发送数据最安全的方式可能就是使用queue库中的队列了。创建一个被多个线程共享的Queue对象,这些线程通过使用put()和get()操作来向队列中添加或者删除元素。 例如:from queue import Queuefrom threading import Th...转载 2019-05-24 10:47:22 · 115 阅读 · 0 评论 -
Notepad++设置用空格取代TAB键
https://blog.csdn.net/dearwind153/article/details/52998546转载 2019-06-10 14:54:18 · 295 阅读 · 0 评论 -
多路复用之select,poll,epoll
一、什么是多路复用这个还是很好说清楚的。假设你是一个机场的空管, 你需要管理到你机场的所有的航线, 包括进港,出港, 有些航班需要放到停机坪等待,有些航班需要去登机口接乘客。你会怎么做?最简单的做法,就是你去招一大批空管员,然后每人盯一架飞机, 从进港,接客,排位,出港,航线监控,直至交接给下一个空港,全程监控。那么问题就来了:很快你就发现空管塔里面聚集起来一大票的空管员,...原创 2019-08-10 11:04:01 · 149 阅读 · 0 评论 -
Django --view
标签{% string%}:{% csrf_token %}在提交的时候服务器会检查name:value这个键值对,如果没有就会报错。一种安全机制。{%verbatim%}:禁止render渲染{%verbatim%} {{ hello }}{% endverbatim %}自定义标签使用 {{ dic.age|filter_mu...原创 2019-09-11 20:20:19 · 166 阅读 · 0 评论 -
python 列表sort函数和sorted函数应用————实现c++ sort按不同关键字排序功能
首先基本的应用请参考其它教程,百度很多。现有列表ll=[(1,2),(4,5),(8,9),(1,1),(4,3),(8,20)],要实现排序,排序规则为:按元组第一个元素降序,如果元祖第一个元素相同按元祖第二个元祖升序。import functoolsdef tcmp(x,y): #只能返回[-1,0,1]分别对应逆序,不变,升序 if x[0]!=y[0]: ...原创 2019-09-02 09:21:56 · 577 阅读 · 0 评论 -
python 类继承与不继承object的区别
https://www.cnblogs.com/wanghui-garcia/p/11193708.html转载 2019-08-27 22:02:24 · 337 阅读 · 0 评论 -
python------网络编程
一、多线程版server.pyimport socketfrom threading import Threadimport reimport time"""socket.socket(family=AF_INET, type=SOCK_STREAM, proto=0, fileno=None) family:choose one from [ AF_U...原创 2019-08-15 21:18:09 · 115 阅读 · 0 评论 -
pycharm远程开发
https://www.cnblogs.com/sddai/p/9648211.html转载 2019-08-24 12:56:03 · 106 阅读 · 0 评论 -
ssh命令操作
服务器windos在服务器cmd上运行有空格的绝对路径的命令,加双引号:通过ssh不用加“”,但是空格前要加/(反斜杠)原创 2019-08-20 14:45:12 · 152 阅读 · 0 评论 -
python--yield和yield from
协程可以身处四个状态中的一个。当前状态可以使用inspect.getgeneratorstate(...) 函数确定,该函数会返回下述字符串中的一个。GEN_CREATED:等待开始执行;GEN_RUNNING:解释器正在执行(只有在多线程应用中才能看到这个状态);GEN_SUSPENDED:在 yield 表达式处暂停;GEN_CLOSED:执行结束;预激:next(f...转载 2019-08-24 09:53:18 · 107 阅读 · 0 评论 -
python协程
协程的优点:1、进程和线程都面临这内核态与用户态切换导致耗费大量时间,而协程只处于用户态。2、协程的执行效率非常高,因为他的切换完全是由用户控制,避免了线程之前的切换开销,线程数量越多,同等数量协程优势就越明显。3、协程不需要锁的机制。只有一个线程不存在同时写的情况,所以不需要对共享资源不需要加锁,运行效率超高一、使用yield/send实现协程import timedef...原创 2019-08-24 09:17:20 · 91 阅读 · 0 评论 -
迭代
1、列表的迭代2、文件的迭代,速度更快3、zip4、range()支持其结果上的多个迭代器,zip,map,filter不支持原创 2019-05-03 15:16:08 · 71 阅读 · 0 评论 -
enumerate
原创 2019-05-02 20:23:44 · 85 阅读 · 0 评论 -
print
1、默认输出到屏幕2、设置输出到指定文件(1)修改所有print的默认输出路径(2)修改单独的print输出路径原创 2019-05-02 20:23:02 · 290 阅读 · 0 评论 -
No module named 'sklearn.__check_build._check_build'问题
https://stackoverflow.com/questions/23062524/sklearn-importerror-no-module-named-check-buildwindows:conda install scikit-learn原创 2018-12-15 17:57:23 · 7111 阅读 · 1 评论 -
'utf-8' codec can't decode byte 0xca in position 94: invalid continuation byte问题
详见:https://segmentfault.com/a/1190000004625718转载 2019-01-10 15:12:11 · 9638 阅读 · 0 评论 -
扩展的解包
原创 2019-05-02 19:26:57 · 167 阅读 · 0 评论 -
python复制和比较
复制1.列表分片和字典copy只能做顶层复制l2。深复制、比较、相等性、和真值”==“操作符测试值的相等性。Python运行相等测试,递归的比较所有内嵌对象。”is“表达式测试对象的一致性。是否是同一个对象(也就是说,在同一个内存地址中)注意段字符串可能会出现的情况:...原创 2019-05-02 19:11:56 · 113 阅读 · 0 评论 -
文件
文件迭代器是最好的读取行工具:for line in open('./mktdt00.txt'): print(line) time.sleep(1)文件中打包二进制数据的存储与解析原创 2019-05-02 17:04:20 · 397 阅读 · 0 评论 -
python之配置日志的几种方式
作为开发者,我们可以通过以下3种方式来配置logging:1)使用Python代码显式的创建loggers, handlers和formatters并分别调用它们的配置函数; 2)创建一个日志配置文件,然后使用fileConfig()函数来读取该文件的内容; 3)创建一个包含配置信息的dict,然后把它传递个dictConfig()函数;需要说明的是,logging.basicConfi...转载 2019-04-08 16:20:52 · 84 阅读 · 0 评论 -
Python之日志处理(logging模块)
本节内容日志相关概念 logging模块简介 使用logging提供的模块级别的函数记录日志 logging模块日志流处理流程 使用logging四大组件记录日志 配置logging的几种方式 向日志输出中添加上下文信息 参考文档一、日志相关概念日志是一种可以追踪某些软件运行时所发生事件的方法。软件开发人员可以向他们的代码中调用日志记录相关的方法来表明发生了某些事情。一个事...转载 2019-04-08 16:18:28 · 120 阅读 · 0 评论 -
sqlite3.connect
sqlite3.connect(database[,timeout,detect_types,isolation_level,check_same_thread,factory,cached_statements,uri])Opens a connection to the SQLite database filedatabase. By default returns aC...转载 2019-04-08 10:43:49 · 3382 阅读 · 0 评论 -
python 读取文件时报错UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 205: illegal multib
代码:f = open('./搜狗新闻语料/val.txt')修改为:f = open('./搜狗新闻语料/val.txt','r', encoding='UTF-8')编码问题详见:https://segmentfault.com/a/1190000004625718 ...原创 2019-01-06 10:31:56 · 288 阅读 · 0 评论 -
Python 中pandas读取文件Initializing from file failed
代码:pandas读取文件报如下的错误:OSError: Initializing from file failed原因:当你用pandas读取文件报这种错误时,一般是因为你的文件名中带有中文修改:f = open('./搜狗新闻语料/val.txt','r', encoding='UTF-8')df_news=pd.read_table(f,names=['cate...原创 2019-01-06 10:30:03 · 232 阅读 · 0 评论