python
蓝鲸123
做更好的自己
展开
-
pyenv安装多个版本python
1.运行升级库centos yum install -y gcc make patch gdbm-devel openssl-devel sqlite-devel zlib-devel bzip2-devel readline-devel yum install -y gcc libzip-devel readline-devel zlib-devel bzip2-devel sqlite-devel openssl-devel python-pip python-setuptools patch原创 2022-03-05 23:06:18 · 549 阅读 · 0 评论 -
python 控制函数运行时间
版本1from contextlib import contextmanager@contextmanagerdef timeout(duration): def timeout_handler(signum, frame): raise Exception('block timedout after {duration} seconds') signal.signal(signal.SIGALRM, timeout_handler) signal.alarm原创 2021-04-28 23:21:58 · 718 阅读 · 0 评论 -
手动安装python2.7和python3.6
wget http://python.org/ftp/python/2.7.14/Python-2.7.14.tar.xztar xf Python-2.7.14.tar.xzcd Python-2.7.14./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"make && make altinstall# Strip th原创 2021-04-28 23:18:19 · 213 阅读 · 0 评论 -
python定时任务式例
import subprocessimport threadingimport signalimport timefrom threading import Timerimport sysimport subprocessproecess = subprocess.Popen("echo 'hello' && sleep 5", shell=True, stdout=sys.stdout)import osimport functoolsdef func(p):原创 2021-04-28 23:14:35 · 153 阅读 · 0 评论 -
python2 UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in ordinal not in
python2 控制台报错:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)解决办法import sysreload(sys)sys.setdefaultencoding("utf8")sys.stdout.encodingsys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())原创 2021-04-25 00:35:48 · 310 阅读 · 0 评论 -
python单例模式
class Singleton(type): def __init__(self, *args, **kwargs): self.__instance = None super(Singleton, self).__init__(*args, **kwargs) def __call__(self, *args, **kwargs): if self.__instance is None: self.__instance = super(Singleton, s原创 2021-04-16 15:28:06 · 100 阅读 · 0 评论 -
python协程
协程,又称微线程,纤程。英文名Coroutine。协程的概念很早就提出来了,但直到最近几年才在某些语言(如Lua)中得到广泛应用。子程序,或者称为函数,在所有语言中都是层级调用,比如A调用B,B在执行过程中又调用了C,C执行完毕返回,B执行完毕返回,最后是A执行完毕。所以子程序调用是通过栈实现的,一个线程就是执行一个子程序。子程序调用总是一个入口,一次返回,调用顺序是明确的。而协程的调用和子程序不同。协程看上去也是子程序,但执行过程中,在子程序内部可中断,然后转而执行别的子程序,在适当的时候再返回原创 2021-04-15 22:08:51 · 105 阅读 · 0 评论 -
python function wrapper
#coding=UTF-8import logging# from typing import List, Dict, Any, Callablefrom tensorflow.python.framework import deviceimport functoolsclass FuncWrapper(object): def __init__(self, func): self.func = func def __str__(self): return "<F原创 2021-04-09 10:50:01 · 341 阅读 · 0 评论 -
python __init__ 和 __new__
参考:https://www.jianshu.com/p/4f312ca60338import logging# from typing import List, Dict, Any, Callablefrom tensorflow.python.framework import deviceimport functoolsclass A(object): def __new__(cls, *args, **kwargs): print("__new__ A") if not原创 2021-04-09 09:25:26 · 142 阅读 · 0 评论 -
python 杀死占用端口号的进程
import osdef kill_process(*pids): for pid in pids: a = os.kill(pid, signal.SIGKILL) print('已杀死pid为%s的进程, 返回值是:%s' % (pid, a))def get_pid(*ports): #其中\"为转义" pids = [] for port in ports: pid = os.popen("netstat -nlp | grep :%s | awk '{p原创 2020-11-30 18:25:21 · 1602 阅读 · 0 评论 -
python 的偏函数 functools.partial
偏函数的定义:func = functools.partial(func, *args, **keywords)partial 一定接受三个参数,从之前的例子,我们也能大概知道这三个参数的作用,简单介绍下:func: 需要被扩展的函数,返回的函数其实是一个类 func 的函数*args: 需要被固定的位置参数**kwargs: 需要被固定的关键字参数# 如果在原来的函数 func 中关键字不存在,将会扩展,如果存在,则会覆盖例子:def add(*args, **kwargs):原创 2020-11-29 17:17:52 · 312 阅读 · 0 评论 -
python 多线程编程
轮询执行线程函数,设置超时器# 轮训查询一个变量,判断是否停止, 如果线程卡在IO上面,将永远无法执行完毕# 所以设置超时时间进行# 超时装饰器from threading import Threadimport sysimport timedef set_timeout(num, call_back): def warp(function): def warp2(*args, **kw): class MyThread(Thread):原创 2020-05-27 09:32:22 · 313 阅读 · 0 评论 -
python sys.path.append()和sys.path.insert()
python程序中使用 import XXX 时,python解析器会在当前目录、已安装和第三方模块中搜索 xxx,如果都搜索不到就会报错。使用sys.path.append()方法可以临时添加搜索路径,方便更简洁的import其他包和模块。这种方法导入的路径会在python程序退出后失效。有两种常用的方式将新目录添加到sys.path。第一种,你可以使用PYTHONPATH环境变量来添加。例如:PYTHONPATH=/Users/yong/CLionProjects/leetcode pyth原创 2020-05-20 16:37:16 · 581 阅读 · 0 评论 -
python 正则表达式 finditer
re.finditer和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并把它们作为一个迭代器返回。样例:# -*- coding: UTF-8 -*- import re it = re.finditer(r"\d+","12a32bc43jf3") for match in it: print (match.group()) # group() 代...原创 2020-05-03 19:37:37 · 11442 阅读 · 0 评论 -
frp反向代理内网,使用内网的jupyterhub
其中jupyterhub 安装和使用可以参考这里针对实际使用中,遇到如下场景,想让其他人测试在本地搭建的WEB服务,由于本地机器没有公网IP,无法域名解析到本地机器。可通过反向代理的方式,实现此功能。比如使用内网的jupyterhub.FRP 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP, UDP 协议,为 HTTP 和 HTTPS 应用协议提供了额外的能力,且尝试性支持了点对点穿...原创 2020-02-28 19:59:12 · 1235 阅读 · 0 评论 -
jupyterhub
Jupyterhub安装可以使用清华的conda源加速conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/...原创 2020-02-28 19:49:00 · 595 阅读 · 0 评论 -
Hyperopt TypeError: 'generator' object is not subscriptable
原因与解决方案 原因与解决底层库networkx更新造成的,Hyperopt不支持networkx-2.0,我换成了1.11版本就OK了.pip install networkx==1.11原创 2018-05-13 23:43:56 · 846 阅读 · 0 评论 -
python 调用C++动态库所遇到的undefined symbol ***
因为算法效率问题所以要在python中调用C, 先写一个C函数:test.cpp # include<stdio.h># include <stdlib.h> //atoi# include <string.h> //strlen# include <unistd.h> //gethostname()# in...原创 2018-07-24 15:11:55 · 5639 阅读 · 0 评论 -
python OrderedDict使用
很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类 OrderedDict,实现了对字典对象中元素的排序。 使用dict时,Key是无序的。在对dict做迭代时,我们无法确定Key的顺序。 如果要保持Key的顺序,可以用OrderedDict: 请看下面的实例:import ...原创 2018-07-05 20:17:03 · 2753 阅读 · 0 评论 -
argparse用法
从下面的代码中main.py说明:import argparseparser = argparse.ArgumentParser(description='PyTorch CIFAR10 Training')parser.add_argument('--lr', default=0.1, type=float, help='learning rate')parser.add_argum...原创 2018-06-23 13:05:28 · 1196 阅读 · 0 评论 -
数据库中的空值与NULL的区别以及python中的NaN和None
数据库里面的”空值”有两种:空字符(“”)、空值(NULL)。 两种存储方式在数据库中都很常见,实际中根据业务或者个人习惯可以用这两种方式来存储“空值”。那这两种到底有什么区别,下面通过例子直接来展示:-- 创建表testcreate table `test` (`id` int not null ,`name` varchar(255) null ,`date` tim...转载 2018-05-24 13:43:48 · 8924 阅读 · 0 评论 -
Anaconda 管理python环境
1.升级conda 环境conda update conda2 . 安装conda 参考https://blog.csdn.net/th_num/article/details/800777623 .列出conda下面的环境conda info --envs其中前面带* 号,表示正在使用的环境4 .复制一个环境conda create --name pyth...原创 2018-06-04 14:16:43 · 292 阅读 · 0 评论 -
python pickle序列化存储
序列化存储:序列化对象可以在磁盘上保存对象,并在需要的时候读取出来。任何对象都可以执行序列化操作,字典对象也不例外。def storeTree(inputTree,filename): import pickle fw=open(filename,"w") pickle.dump(inputTree,fw) fw.close()def grabTree(f...原创 2018-05-16 15:40:47 · 400 阅读 · 0 评论 -
python 引用传值、赋值
python 数组 A=B 默认的是引用传值,改变A中的元素,B中的元素同样改变。 而A=B[:]则是传值,改变A中的元素的值,B中元素的值保持不变。样例: 引用a=[1,2,3,4]b=a[:]b[0]=4print(b)print(a)def Cal(A): B=[] B=A B[0]=4 return Ba=[[1,2,3,4]]...原创 2018-05-16 14:26:17 · 915 阅读 · 0 评论 -
python append和entend的区别
了Python语言列表类型自带的extend()和append()方法。这两个方法功能类似,但是在处理 多个列表时,这两个方法的处理结果是完全不同的。 假定存在两个列表,A和B:A=[1,2,3]B=[4,5,6]A.append(B)输出: [1, 2, 3, [4, 5, 6]] 如果执行a.append(b),则列表得到了第四个元素,而且第四个元素也是一个列表。然而 ...原创 2018-05-16 14:15:49 · 966 阅读 · 0 评论 -
python 列举文件夹下面的文件
#列举文件from os import listdirtrainningFileList=listdir('digits/testDigits')print(trainningFileList)原创 2018-05-16 10:44:42 · 670 阅读 · 0 评论 -
matplotlib 制作原始数据的散点图
import numpy as npimport matplotlib.pyplot as pltreturnMat=np.array([[1,2],[3,4]])fig=plt.figure()ax=fig.add_subplot(111)ax.scatter(returnMat[:,1],returnMat[:,2])plt.show()原创 2018-05-15 21:54:26 · 791 阅读 · 0 评论 -
Python struct模块的pack、unpack示例
import structpack、unpack、pack_into、unpack_fromimport struct #pack - unpack print print '===== pack - unpack =====' str = struct.pack("ii", 20, 400) print 'str:', str print 'len(str...转载 2018-05-07 12:41:35 · 592 阅读 · 0 评论 -
Pandas 获取列名
获取DataFrame的列名是一个比较简单的操作,又以下几个方法:1.[column for column in df] 2.df.columns.values 返回 array 3.list(df) 4.df.columns 返回Index,可以通过 tolist(), 或者 list(array) 转换为listimport pandas as pdfrom numpy.r...原创 2018-05-13 00:10:45 · 95320 阅读 · 1 评论 -
python中的ord函数
chr()、unichr()和ord()chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的。如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-...转载 2018-05-07 12:21:15 · 826 阅读 · 0 评论 -
MPI 函数长度不同的数据分发和聚集 MPI_Scatterv、MPI_Allgatherv
MPI_Scatterv:分发数据 MPI_Allgatherv 不同长度的数据块收集,等价于依次以Comm中的每个进程为根进程调用MPI_Gatherv 或是以任一进程为跟进调用一次普通收集,紧接着再对收集到的数据进行一次广播。#include <stdio.h>#include <stdlib.h>#include <mpi.h>#includ...原创 2018-07-20 13:51:11 · 2951 阅读 · 0 评论 -
python type()函数
type() 函数如果你只有第一个参数则返回对象的类型,三个参数返回新的类型对象。语法 以下是 type() 方法的语法: class type(name, bases, dict) 参数 name – 类的名称。 bases – 基类的元组。 dict – 字典,类内定义的命名空间变量。 返回值 一个参数返回对象类型, 三个参数,返回新的类型对象例...原创 2018-08-01 10:45:20 · 3121 阅读 · 0 评论 -
理解python中yield关键字
可迭代对象mylist 是一个可迭代的对象。当你使用一个列表生成式来建立一个列表的时候,就建立了一个可迭代的对象:>>> mylist = [x*x for x in range(3)]>>> for i in mylist :... print(i)014在这里,所有的值都存在内存当中,所以并不适合大量数据生成器可迭代...转载 2018-08-18 15:58:35 · 278 阅读 · 0 评论 -
python3.5基于django 开发博客
开发环境 是pycharm 直接新建Django 工程创建 sqlite 数据库表 python manage.py migrate创建后台的管理用户python manage.py createsuperuser设计Model(即:设计数据库表)添加 BlogPost 在Blog 应用下面 models.py 创建数据库表: code:from django.db import mo原创 2016-10-08 21:14:55 · 2665 阅读 · 0 评论 -
python中获取当前日期
datetime:日期时间模块,提供多种方法操作日期和时间strftime:对日期时间格式化获取今天的日期,昨天的日期,格式化的日期import datetimetoday=datetime.date.today()print todayformatted_today=today.strftime('%y%m%d')print formatted_today输出:2019-0...原创 2019-08-11 23:26:48 · 517 阅读 · 0 评论 -
python中的上下文管理协议 __enter__ __exit__
所谓上下文管理协议,就是咱们打开文件时常用的一种方法:with__enter__(self):当with开始运行的时候触发此方法的运行__exit__(self, exc_type, exc_val, exc_tb):当with运行结束之后触发此方法的运行exc_type如果抛出异常,这里获取异常的类型exc_val如果抛出异常,这里显示异常内容exc_tb如果抛出异常,这里显示所在位置...原创 2019-01-21 12:13:38 · 345 阅读 · 3 评论 -
python 读取文件中的字典配置
python 读取文件中的字典配置hello.txt 内容:{ 'a':'123', 'b':43}读取hello.txt dict 文件的配置f=open('hello.txt','r')my_dict =eval(f.read()) #字典原创 2019-01-15 14:57:55 · 2845 阅读 · 0 评论 -
python 解压zip文件
import osimport zipfilezip_file_path = os.path.join(root, 'file.zip')with zipfile.ZipFile(zip_file_path) as zf: zf.extractall(root)原创 2019-01-15 10:35:08 · 2990 阅读 · 0 评论 -
python 通过logging记录INFO和DEBUG记录
import shutilimport osfrom itertools import cycleimport logging.configfrom datetime import datetimeimport jsonfrom bokeh.io import output_file, save, showfrom bokeh.plotting import figurefrom ...原创 2019-01-10 15:36:16 · 3417 阅读 · 0 评论 -
python里面的list转换成ctypes里面的向量
import ctypesdef c_array(ctype,values): """Create ctypes array from a python array Parameters ---------- ctype : ctypes data type data type of the array we want to convert t...原创 2019-01-21 14:28:00 · 2068 阅读 · 0 评论