手头有109张头部CT的断层扫描图片,我打算用这些图片尝试头部的三维重建。基础工作之一,就是要把这些图片数据读出来,组织成一个三维的数据结构(实际上是四维的,因为每个像素有RGBA四个通道)。这个数据结构,自然是numpy的ndarray对象,读取图像文件我习惯使用PIL。因此,需要导入两个模块:importnumpyasnpfromPILimportImage接下来,我用一行代码就把109张图片读到了一个109x256x256x4的numpy数组中,耗时
系统 2019-09-27 17:49:06 2117
一、进程间通信IPC(Inter-ProcessCommunication)IPC机制:实现进程之间通讯管道:pipe基于共享的内存空间队列:pipe+锁的概念--->queue二、队列(Queue)2.1概念-----multiProcess.Queue创建共享的进程队列,Queue是多进程安全的队列,可以使用Queue实现多进程之间的数据传递。Queue([maxsize])创建共享的进程队列。参数:maxsize是队列中允许的最大项数。如果省略此参数
系统 2019-09-27 17:48:51 2117
Python的交互式命令行可通过启动文件来配置。当Python启动时,会查找环境变量PYTHONSTARTUP,并且执行该变量中所指定文件里的程序代码。该指定文件名称以及地址可以是随意的。按Tab键时会自动补全内容和命令历史。这对命令行的有效增强,而这些工具则是基于readline模块实现的(这需要readline程序库辅助实现)。此处为大家举一个简单的启动脚本文件例子,它为python命令行添加了按键自动补全内容和历史命令功能。[python@pytho
系统 2019-09-27 17:48:02 2117
使用pip安装pipinstallvirtualenv因为已经安装过了,所以显示这样在这里我想在这里推荐大家以后再安装类库时可以用豆瓣源来安装,速度很快,因为在国内访问官方pypi源非常慢,pip安装包经常会出错豆瓣源我来演示下django的安装可以看到速度很快好了回到虚拟环境的安装virtualenvscrapytest(环境名)安装好后输入activate.bat进入虚拟环境后输入python查看当前python版本为2.7退出退出虚拟环境:输入dea
系统 2019-09-27 17:37:40 2117
python常用导入函数及其他操作备忘录python常用导入函数解压缩zip并读取csv文件查看缺失值权重系数取绝对值后排序(查看特征权重重要度)python常用导入函数fromIPython.displayimportdisplayimportnumpyasnpimportpandasaspdfrompandasimportSeries,DataFramefromPILimportImageimportmatplotlib.pyplotasplt%mat
系统 2019-09-27 17:55:18 2116
leetcode862.和至少为K的最短子数组返回A的最短的非空连续子数组的长度,该子数组的和至少为K。如果没有和至少为K的非空子数组,返回-1。示例1:输入:A=[1],K=1输出:1示例2:输入:A=[1,2],K=4输出:-1示例3:输入:A=[2,-1,2],K=3输出:3#使用collections.deque模块版本classSolution:defshortestSubarray(self,A,K):fromcollectionsimport
系统 2019-09-27 17:55:14 2116
一、什么是高阶函数在计算机编程语言中,高阶函数指的是接受函数作为输入或输出的函数。二、高阶函数的特性函数本身也可以赋值给变量变量可以指向函数f=abs#abs()取绝对值函数,将函数赋给变量fprint(f(-10))#输出结果-10的绝对值三、内置高阶函数map()map():接收两个参数,一个是函数一个是序列map()将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回例:对一个序列[-1,3,-4,-5]的每一个元素求绝对值代码:结果:例
系统 2019-09-27 17:54:46 2116
使用pyinstaller可以把.py文件打包为.exe可执行文件,命令为:pyinstallerhello.py打包后有两个文件夹,一个是dist,另外一个是build,可执行文件在dist文件夹里面,但是会有许多依赖是独立文件存在pyinstaller-Fhello.py使用-F参数后,打包的可执行文件是一个整体,只有一个.exe文件。获取文件路径的方式有四种,可以在打包成exe文件后,获取.exe文件的当前路径importsysimportospri
系统 2019-09-27 17:54:31 2116
我们在写代码的过程中,会经常使用到for循环,去循环列表,那么如果我们拿到一个类型为str的列表,对它进行for循环,结果看下面的代码和图:str_list=str(['a','b','c'])forrowinstr_list:print(row)结果:那么for循环就把str类型的列表的每一个字符都一个一个的循环的打印出来,而这个结果并不是我们想要的,那么如何解决这个问题?,使用到第三方模块,看下面的代码fromastimportliteral_eval
系统 2019-09-27 17:54:19 2116
最近这段时间,常常有人在后台留言:该不该学Python?如何学Python?鉴于大家都有这方面的困惑今天就给大家推荐一本巨有影响力的Python书火到什么地步呢?在京东上常常卖断货!上线2月就成为畅销王!好评不断!这本书可谓是笔者独家私藏图书之一了,对我学习Python有着莫大的帮助,这次拿出来给大家分享一下PS:文末还将赠送5门课程!这本基于3.6的Python书究竟好在哪?这本书就是《疯狂Python讲义》,作为作者李刚的死忠粉儿,我觉得优点如下:1.
系统 2019-09-27 17:49:38 2116
Python三大流程(程序控制流程)一、顺序从左而右,从上到下二、分支(选择)结构1、单分支2、双分支3、多分支(三分支)
系统 2019-09-27 17:49:37 2116
本文从参考了网络上的许多内容,主要为分布式进程及其的评论内容。所谓分布式运算,既可以指在同一台机器上利用多进程(线程)进行运算,又可以指将计算任务进行分解,利用多台机器进行运算。本文中的分布式单指最后一种。python的标准库multiprocessing中存在一个managers的子模块,该模块支持将多进程分布到多台机器上。选择一个进程来调度任务,其他进程进行计算,从而实现分布式运算。而调度进程和计算进程之间的通信,是通过网络来进行的,用到了python
系统 2019-09-27 17:49:22 2116
前不久,我写了一篇文章回顾Python中print的发展历史,提到了两条发展线索:明线:早期的print语句带有C和Shell的影子,是个应用程序级的statement,在最初十几年里,经历过PEP-214和PEP-259的改进;再到2009年的大版本3.0,由语句改成了print()函数,还在3.3版本,做过一次功能增强,最终上升成为一等的内置函数。暗线:介绍了print的竞争对手们,像传统的日志模块logging、调试模块pdb、主流IDE的调试功能,
系统 2019-09-27 17:48:34 2116
一、推荐安装Anaconda官方介绍:AnacondaisacompletelyfreePythondistribution(includingforcommercialuseandredistribution).Itincludesmorethan400ofthemostpopularPythonpackagesforscience,math,engineering,anddataanalysis.下载页面:https://www.continuum.i
系统 2019-09-27 17:48:09 2116
在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=
系统 2019-09-27 17:48:00 2116