python
while10
这个作者很懒,什么都没留下…
展开
-
python中线程的使用(可以进行数据的共享)
通过这个例子可以证明多线程比单线程运行速度要快,如何用map拿取各个线程执行之后的数据。(由于GIL锁的原因,多个线程只能用一个cpu,这时多进程的执行效率要比多线程高,至于多线程为什么快,大家可以去搜一下)"""验证多线程运行时间比单线程运行时间快多少用了一个计算时间的装饰器 输出运行时间可以发现多线程在我的电脑上运行时间为5s 单线程运行时间为16s 差别很大"""from functools import wrapsimport concurrent.futuresimport ma原创 2022-05-18 15:31:14 · 729 阅读 · 0 评论 -
python利用线程生成不同尺寸的缩略图
利用线程生成缩略图;读取当前路径下的png文件,在当前路径下生成6464,128128和32*32的缩略图。"""利用线程生成缩略图读取当前路径下的png文件,在当前路径下生成64*64,128*128和32*32的缩略图"""import globimport osimport threadingfrom PIL import Imagedef generate_thumbnail(infile, size): """生成指定图片文件的缩略图""" file, ex原创 2022-05-17 17:01:15 · 416 阅读 · 0 评论 -
python创建子进程,进程间利用队列通信,进程池的使用,队列加锁
python创建子进程其中可以通过Process来构造一个子进程p = Process(target=fun,args=(args))再通过p.start()来启动子进程再通过p.join()方法来使得子进程运行结束后再执行父进程#coding:gbkfrom multiprocessing import Processimport osdef run_proc(name): print('Run child process %s (%s)...' % (name, os.getp原创 2022-05-11 20:57:25 · 989 阅读 · 0 评论 -
sqlalchemy 在数据库设置字段的默认值
下面设置默认值,是不对的,此处设置并不能设置成功。is_vip = Column(Integer, default=0)正确的设置方法, 注意 server_default 设置默认值,虽然字段类型为Integer,仍然需要设置字符串类型 # 数据库设置默认值 需是字符串is_vip = Column(Integer, server_default='0')...原创 2022-01-10 20:40:22 · 1251 阅读 · 0 评论 -
docker和nvidia docker的启动
docker 利用 docker run 启动docker run -it -d -v /宿主机目录:/容器目录 镜像名 /bin/bash其中: -it代表可以利用控制台和终端登录(通常都要) -d代表后台启动 -v代表路径的映射未使用的参数: -p指定端口映射 格式为:主机(宿主)端口:容器端口 --name="nginx-lb" 为容器指定一个名称 -e username="ritchie" 设置环境变量nvidia docker的启动,添加路径映射并调用cuda的原创 2021-07-08 18:55:12 · 2114 阅读 · 0 评论 -
python获得中文的首字母
def single_get_first(unicode1): str1 = unicode1.encode('gbk') try: ord(str1) return str1.decode('gbk') except: asc = str1[0] * 256 + str1[1] - 65536 if asc >= -20319 and asc <= -20284: return 'a原创 2021-06-24 17:07:26 · 741 阅读 · 0 评论 -
python读取文件路径
import osprint(os.getcwd()) #获取当前运行文件目录# 必须是实际存在的.py文件,如果在命令行执行,则会引发异常NameError: name '__file__' is not definedprint(os.path.dirname(__file__))原创 2021-03-11 11:04:29 · 1166 阅读 · 0 评论 -
Python多线程异步调用
本博客主要实现一个python多线程异步调用的demo。 程序功能简介:调用main_func作为主程序,主程序内部创建两个线程,分别建立线程ID、线程名和线程内部执行延迟时间,两个线程内部分别调用函数print_time打印时间。exitFlag作为标志位,如果为1表示线程不打印时间直接退出。 结果分析:程序主线程已经执行结束,并不影响其建立的线程执行,所以可以实现异步调用。程序代码:import threadingimport timeexitFlag = 0class myT原创 2021-01-28 16:09:29 · 2393 阅读 · 0 评论 -
将python项目的py文件编译为pyc文件
功能 将Python工程目录下的所有py文件(递归所有子目录)编译成pyc文件,可选择生成新的工程目录,也可以选择删除源文件,仅保留pyc文件用于部署pyc部署优点 省去了Python动态编译的过程,直接加载pyc字节码文件,可以加速Python运行速度。 pyc文件是二进制文件,可以保护源代码不被看见,当然也有大牛能反编译。编译代码 import datetimefrom pathlib import Pathimport osimport shutilimport compi原创 2020-12-29 09:48:11 · 1746 阅读 · 0 评论 -
字符串前面的r,u,b是什么意思
字符串前面有 r有些时候我们会看到字符串前面会加一个小写的r,例:r"\n\n\n\n",加入r代表row string,也叫做原生字符串,意思就是上述的"\n\n\n\n"仅代表字符串的意思,没有转义字符(换行)的意思。字符串前面有 u有些字符串前面有u,例:**u"我是含有中文字符组成的字符串。"**其代表后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。...原创 2020-08-11 10:06:52 · 2716 阅读 · 0 评论 -
python使用logging实现信息既在桌面输出,又在log文件中写入
import loggingfrom logging import handlersclass Logger(object): level_relations = { 'debug':logging.DEBUG, 'info':logging.INFO, 'warning':logging.WARNING, 'error':logging.ERROR, 'crit':logging.CRITICAL }#日原创 2020-08-03 18:03:17 · 709 阅读 · 0 评论 -
Python中字典合并的四种方法
【方法一】借助dict(d1.items() + d2.items())的方法备注:d1.items()获取字典的键值对的列表d1.items() + d2.items()拼成一个新的列表dict(d1.items()+d2.items())将合并成的列表转变成新的字典【方法二】借助字典的update()方法【方法三】借助字典的dict(d1, **d2)方法【方法四】借助字典的常规处理方法参考 https://www.jianshu.com/p/99b2acce151a..原创 2020-08-02 23:32:08 · 1690 阅读 · 0 评论 -
利用Python实现模糊查找
file_list 为要查找的列表,列表里各个元素的格式为字典格式,查询字典中的关键字中是否包含要查找的元素,如果包含,将列表中的字典加入待返回列表。看懂代码之后,可根据自己的需求修改代码。重点在正则化表达式的构造上!import refile_list = [ { "type": "dir", "size": "123", "name": "access.log", }, { "type": "dir", .原创 2020-08-02 23:05:27 · 14301 阅读 · 4 评论 -
图像卷积中三维的数据用numpy做级联的操作
import numpy as npn1 = np.random.randint(0,10,size=(5,5,5))n2 = np.random.randint(0,10,size=(5,5,5))n3 = np.concatenate((n1,n2),axis=0)#当维度为3维时,axis = 0 指的是第三维度级联,axis = 1指的是列级联,axis = 2指的是行级联,在图像...原创 2019-10-20 20:43:24 · 508 阅读 · 0 评论 -
python读取文件中的字符进行处理(可用于分析log中的数据)
直接上代码然后注释,很容易理解:# 先声明列表losslist = []#打开文件然后将数据读入lineswith open ('VGG_VOC0712_SSD_300x300.log') as lines: flag = 1 for line in lines: # 一行一行的来 wordlist = line.split() #按照空格将每一行都分开放进...原创 2019-10-19 16:08:50 · 696 阅读 · 0 评论