前言刚开始开发Web的时候,没太在意隔离虚拟环境,用了系统的那一套,Python2.7版本是系统自带的,虽说明年就结束了,但是现在开发都会有一套3.x以上的环境,即使你开发不注意,你部署的时候总归是要隔离出来的。1.方便隔离,不同环境编写测试2.方便迁移,pipfreeze到出包文件依赖,随后提交管理和迁移都很方便virtualenv前提是你有两套PythonmikejingdeMacBook-Pro:~MKJ$whichpython/usr/bin/py
系统 2019-09-27 17:52:34 1891
文件操作对编程语言的重要性不用多说,如果数据不能持久保存,信息技术也就失去了意义。按照本人经验,IO也是蛮头疼的一件事,因为不会用得太多,所以总是记不住API,每次都要重新google就会打断思路,还不一定每次都快速得到正确的文章。本文内容包括:文件的读写操作文件的各种系统操作存储对象遍历文件上代码:importosimportos.pathrootdir="d:/code/su/data"#指明被遍历的文件夹forparent,dirnames,file
系统 2019-09-27 17:52:30 1891
Python的元组和列表类似,不同之处在于元组中的元素不能修改(因此元组又称为只读列表),且元组使用小括号而列表使用中括号,如下:tup1=('physics','chemistry',1997,2000)tup2=(1,2,3,4,5,6)特别注意:1、元组中只包含一个元素时,需要在元素后面添加逗号来消除歧义tup1=(50,)2、元组中的元素值使不允许修改的,但可以对元组进行连接组合tup1=(12,34.56)tup2=('abc','xyz')tu
系统 2019-09-27 17:52:18 1891
目录第十五章、Python多线程同步锁,死锁和递归锁1.引子:2.同步锁3.死锁引子:4.递归锁RLock原理:不多说,放代码总结:5.大总结第十五章、Python多线程同步锁,死锁和递归锁1.引子:1.创建线程对象t1=threading.Thread(target=say,args=('tony',))2.启动线程t1.start()后面又说了两个点就是join和守护线程的概念以上就是python多线程的基本使用说明:前面说的两个功能是相互独立的,
系统 2019-09-27 17:51:52 1891
在写程序时,我们经常需要定义一些路径常量,为了逻辑和代码的清晰,可以新建一个config.ini文件,然后调用其中的信息即可。config.ini文件格式如下:[section1]model_dir=/home/user/nlp-data/trained-model;注释save_input=./profiling/inputsave_state=./profiling/state......[section2]save_output=./profilin
系统 2019-09-27 17:51:24 1891
获取现在的时间用方法datetime.datetime.now().strftime('%F%T'),获取未来或者过去的时间可以用如下方法:#-*-coding:utf-8-*-importdatetimeif__name__=='__main__':print(datetime.datetime.now().strftime('%F%T'))print((datetime.datetime.now()-datetime.timedelta(days=1)
系统 2019-09-27 17:51:23 1891
最近在处理语音检索相关的事。其中用到语音识别,调用的是讯飞与百度的api,前者使用js是实现,后者用python3实现(因为自己使用python)环境:python3.5centos7流程整个百度语音识别restapi使用分为三部分:1(申请操作)创建应用,获取应用的APIKey以及SecretKey。2(程序实现)通过已知的应用的APIKey以及SecretKey,发送post请求到https://openapi.baidu.com/oauth/2.0/
系统 2019-09-27 17:50:48 1891
#/usr/bin/envpython#coding:utf-8#进程检测程序importosimportpsutilimportdatetime#获取用户输入的PID#获取pid对应的应用名p=psutil.Process(os.getpid())print('Processname:%s'%p.name())#获取进程bin路径print('Processbinpath:%s'%p.exe())#获取pid对应的路径print('Processpath
系统 2019-09-27 17:50:43 1891
在网络通信中,每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接。所以我们尝试使用协程来实现服务器对多个客户端的响应。与单一TCP通信的构架一样,只是使用协程来实现多个任务同时进行。#服务端importsocketfromgeventimportmonkeyimportgeventmonkey.patch_all()defhandle_conn(seObj):whileTrue:re_Data=seObj.r
系统 2019-09-27 17:50:26 1891
迭代器和可迭代对象由for循环的内部原理说起list01=[2,434,5,6,8]foriteminlist01:print(item)大家有没有想过list类型对象为什么可以被for循环呢?能够被for循环的条件是:它是可迭代对象(iterable)。那么什么是可迭代对象呢?参考一下内置函数item()的官方说明文档:iter(object[,sentinel])返回一个iterator对象。根据是否存在第二个实参,第一个实参的解释是非常不同的。如果没
系统 2019-09-27 17:50:22 1891