在之前的几篇文章中,介绍了业界中比较火爆的图片技术SVG(ScalableVectorGraphics),比如Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript来打造属于自己的个性化社交分享系统,我们可以使用svg来打造精美炫酷的分享小图标(icon),这一次我们使用python来将普通的静态的网站logo图片转换为带路径(path)的svg图片,这样就可以让网站logo能够变成动态的,作为一名不折腾不舒服斯基,一枚炫酷自带动画的网站logo自然能够满足...
继续阅读 >
分类:python
在之前的几篇文章中,介绍了业界中比较火爆的图片技术SVG(ScalableVectorGraphics),比如Iconfont(矢量图标)+iconmoon(图标svg互转)配合javascript来打造属于自己的个性化社交分享系统,我们可以使用svg来打造精美炫酷的分享小图标(icon),这一次我们使用python来将普通的静态的网站logo图片转换为带路径(path)的svg图片,这样就可以让网站logo能够变成动态的,作为一名不折腾不舒服斯基,一枚炫酷自带动画的网站logo自然能够满足...
继续阅读 >
2020
09-27
09-27
Python yield生成器和return对比代码实例
迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本的方法:iter()和next()。生成器是特殊的迭代器defgen_yield():foriinrange(1,10):forjinrange(1,10):yieldi+j#returni+jif__name__=='__main__':aa=gen_yield()print(aa.__...
继续阅读 >
2020
09-27
09-27
python argparse模块通过后台传递参数实例
我就废话不多说了,大家还是直接看代码吧!cmd.py#-*-coding:utf-8-*-fromPySideimportQtGui,QtCoreimportos,sysimporttoryimportargparseparser=argparse.ArgumentParser()parser.add_argument("-v","--verbosity",help="increaseoutputverbosity")parser.add_argument("-l","--listdir",help="checkroot")args=parser.parse_args()ifargs.verbosity:app=QtGui.QApplication(sys.argv)trans=tory.Tu...
继续阅读 >
出现如图所示错误:问题:例如下述代码,给extract_features赋值True,出现上述错误。parser.add_argument('--extract_features',action='store_true')解决:简单来说,其实不用管,可以直接去掉赋值,认为其保存了一个布尔值,不是真的,就是假的。若设置了默认值是false,所以当然的就是false,但是如果不设置的话,store_true的意思就是默认存成真的。补充知识:Anaconda3:conda-script.py:error:thefollowingargumentsare...
继续阅读 >
2020
09-27
09-27
python argparse传入布尔参数false不生效的解决
跑代码时,在命令行给python程序传入bool参数,但无法传入False,无论传入True还是False,程序里面都是True。下面是代码:parser.add_argument("--preprocess",type=bool,default=True,help='runprepare_dataornot')高端解决方案使用可选参数store_true,将上述代码改为:parse.add_argument("--preprocess",action='store_true',help='runprepare_dataornot')在命令行执行py文件时,不加--preprocess,默认传入的prepr...
继续阅读 >
2020
09-27
09-27
Python ArgumentParse的subparser用法说明
在写一些很小的机器学习项目的时候,我们往往希望training,testing和inference能共用一个入口main,但是不同的功能使用不同的input参数.当然如果三个功能对应三个.py脚本问题也不大,但是毕竟觉得不太优雅.这个时候就需要考虑如何让代码更加简单有条理.主要是最近在看parser有关的东西,所以看到了一个项目,里面的使用subparser的地方是值得借鉴的,下面附上代码和部分自己的一些见解defmain():parser=argparse.ArgumentParser()s...
继续阅读 >
2020
09-27
09-27
使用Python对Dicom文件进行读取与写入的实现
Pydicom单张影像的读取使用pydicom.dcmread()函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象.importosimportpydicom#调用本地的dicomfilefolder_path=r"D:\Files\Data\Materials"file_name="PA1_0001.dcm"file_path=os.path.join(folder_path,file_name)ds=pydicom.dcmread(file_path)在一些特殊情况下,比如直接读取从医院拿到的数据(未经任何处理)时,可能会发生以下报错:raiseInvalidDicomErr...
继续阅读 >
2020
09-27
09-27
python 错误处理 assert详解
assert是断言的意思,解释为:我断定这个程序执行之后或者之前会有这样的结果,如果不是,那就扔出一个错误。语法:assertexpression[,arguments]assert表达式[,参数]举例:deffoo(s):n=int(s)assertn!=0,'niszero!'return10/ndefmain():foo('0')>Traceback(mostrecentcalllast):...AssertionError:niszero!assert的意思是,表达式n!=0应该是True,否则,根据程序运行的逻辑,后面的代码肯定会出...
继续阅读 >
执行:在IPythonconsole里先cd到test.py所在的文件夹,再runtest.py。注意使用的是命令run而不是命令python。debug:栗子:debugfile('/home/1/tensor2tensor/tensor2tensor/bin/t2t-datagen',args='--problem=image_mnist--data_dir=~/t2t_data--tmp_dir=~/t2t_data/tmp',wdir='/home/1/tensor2tensor/tensor2tensor/bin')第一个参数是需要被运行的程序,第二个参数是命令行参数,第三个参数是工作目录补充知识:在spyder...
继续阅读 >
2020
09-27
09-27
解决Python spyder显示不全df列和行的问题
python中有的df列比较长head的时候会出现省略号,现在数据分析常用的就是基于anaconda的notebook和sypder,在spyder下head的时候就会比较明显的遇到显示不全。这时候我们就需要用到pandas下的一个函数set_option我们直接来看代码:这是正常情况spyder下head()的样子importnumpyasnpimportpandasaspddf=pd.DataFrame(np.random.rand(2,10))#创建一个2行10列的数df.head()很明显第4列到7列就省略掉了Out[4]:012…78900...
继续阅读 >
2020
09-27
09-27
Python如何把Spark数据写入ElasticSearch
这里以将Apache的日志写入到ElasticSearch为例,来演示一下如何使用Python将Spark数据导入到ES中。实际工作中,由于数据与使用框架或技术的复杂性,数据的写入变得比较复杂,在这里我们简单演示一下。如果使用Scala或Java的话,Spark提供自带了支持写入ES的支持库,但Python不支持。所以首先你需要去这里下载依赖的ES官方开发的依赖包包。下载完成后,放在本地目录,以下面命令方式启动pyspark:pyspark--jarselasticsearch-hadoo...
继续阅读 >
2020
09-27
09-27
Python virtualenv虚拟环境实现过程解析
在进行alembic的初始化init时,要在虚拟环境中进行。以前都是用的pycharm给的虚拟环境,这次还是新建一个自己的。1、安装虚拟环境包pipinstall-ihttps://pypi.douban.com/simplevirtualenv2、pip3installvirtualenvwrapper-win-ihttps://pypi.douban.com/simple3、创建虚拟环境:默认在系统盘用户下的Envs里mkvirtualenv虚拟环境名4、切换到自己的虚拟环境:workon虚拟环境名5、更改pycharm中的虚拟环境为自己创...
继续阅读 >
2020
09-27
09-27
Python的in,is和id函数代码实例
1.in和notin——判断某个序列中是否存在某值#inaa=[1,2,3,'Cathy','太平洋']if'大西洋'inaa:print('yes')else:print('no')#no#notinif'大西洋'notinaa:print('yes')#yeselse:print('no')#-------------------------------------------------------#判断字符串是否存在某子串if'马来西亚'in'马来西亚是一个太平洋国家':print('ofcourse')#输出'ofcourse'#------------------------...
继续阅读 >
2020
09-27
09-27
Python json读写方式和字典相互转化
在Python中,json指的是符合json语法格式的字符串,可以单行或者多行。它可以方便的在使用在多种语言中,这里介绍的是在python中的字典(dict)与json字符串相互转化的方式。1.导入json包importjson2.初始化一个字典数据dict_={'name':'Jack','age':22,'skills':['Python','Java','C++','Matlab'],'major':'计算机技术','english':'英语六级','school':'WIT'}3.json.dumps(字典):将字典转为JSON字符...
继续阅读 >
2020
09-27
09-27
Python figure参数及subplot子图绘制代码
1.Python的figure参数主要有:deffigure(num=None,#autoincrementifNone,elseintegerfrom1-Nfigsize=None,#defaultstorcfigure.figsizedpi=None,#defaultstorcfigure.dpifacecolor=None,#defaultstorcfigure.facecoloredgecolor=None,#defaultstorcfigure.edgecolorframeon=True,FigureClass=Figure,clear=False,**kwargs):可以设置图片大小...
继续阅读 >
2020
09-27
09-27
Python数组拼接np.concatenate实现过程
在python中,用于数组拼接的主要来自numpy包,当然pandas包也可以完成。而,numpy中可以使用append和concatenate函数:1.建立数组#pandas有专门的连接方法importnumpyasnp#np.size(a,0)行数#np.size(a,1)列数a=np.array([[1,2],[3,4],[5,6]])b=np.array([[11,22],[33,44],[55,66]])print(np.size(a,0))print(np.size(a,1))print(a)print(b)2.np.append函数c=np.append(a,b)print(c)d=np.append(a,100)#...
继续阅读 >