搜索到与相关的文章
Python

如何编写快速且线程安全的Python代码

概述如今我也是使用Python写代码好多年了,但是我却很少关心GIL的内部机制,导致在写Python多线程程序的时候。今天我们就来看看CPython的源代码,探索一下GIL的源码,了解为什么Python里要存在这个GIL,过程中我会给出一些示例来帮助大家更好的理解GIL。GIL概览有如下代码:staticPyThread_type_lockinterpreter_lock=0;/*ThisistheGIL*/这行代码位于Python2.7源码ceval.c

系统 2019-09-27 17:52:39 1988

Python

Python代码展示Numpy和Scipy的子库的描述信息

前言学习一个库的最好的方式是了解这个库的源码和组成原理,有时候源码可能会略显生涩,这时候我们想通过查看文档来了解,所以我们可以通过输出库自带的描述文档来了解一个库。Numpy和Scipy模块numpy提供了数组对象,面向的任何使用者。scipy在numpy的基础上,面向科学家和工程师,提供了更为精准和广泛的函数。scipy几乎实现numpy的所有函数,一般而言,如果scipy和numpy都有这个函数的话,应该用scipy中的版本,因为scipy中的版本往往

系统 2019-09-27 17:52:27 1988

Python

python configparser库简介

随着脚本复杂程度增加,配置文件成了必不可少。之前一直使用json文件,当作配置文件。比较之下,configparser库更加适合。下述文件为一个简单的configparser库的配置文件config.ini[testdb]db_port=3306db_host=127.0.0.1db_user=rootdb_passwd=123456#remark[zhfx]target="zy-zhfx"targets=["zy-zhfx"]num=3上述方括号内的[]

系统 2019-09-27 17:52:13 1988

Python

Python3快速入门

Python3快速入门Python3快速入门(一)——Python简介https://blog.51cto.com/9291927/2385592Python3快速入门(二)——Python3基础https://blog.51cto.com/9291927/2409575Python3快速入门(三)——Python3标准数据类型https://blog.51cto.com/9291927/2409580Python3快速入门(四)——Python包管理ht

系统 2019-09-27 17:51:28 1988

Python

Python中py文件转换成exe可执行文件的方法

一、背景今天闲着无事,写了一个小小的Python脚本程序,然后给同学炫耀的时候,发现每次都得拉着其他人过来看着自己的电脑屏幕,感觉不是很爽,然后我想着网上肯定有关于Python脚本转换成可执行文件的操作,事不宜迟,我就开始了问度娘,各种寻找资料,发现网上的资料太多了,有一些比较老了,适合Python2.x系列,在现在Python3流行的时代,我们当然是直接无视,但是各种方法凌乱的很,各种教程也是或全或缺的,鄙人也捣鼓了可久,后来发现一种方法挺多人用的,在自

系统 2019-09-27 17:51:28 1988

Python

python中subprocess批量执行linux命令

可以执行shell命令的相关模块和函数有:os.systemos.spawnos.popen--废弃popen--废弃commands--废弃,3.x中被移除以上执行shell命令的相关的模块和函数的功能均在subprocess模块中实现,并提供了更丰富的功能。subprocesscall执行命令,返回状态码>>>importsubprocess>>>ret=subprocess.call(["ls","-l"],shell=False)total4684

系统 2019-09-27 17:51:25 1988

Python

Python初学者常见错误详解

前言Python以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照Python的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写Python代码,有一个外国小伙总结了一些大家常犯的错误,,我把他翻译过来并在原来的基础补充了我的一些理解,希望可以让你避开这些坑。0、忘记写冒号在if、elif、else、for、while、class、def语句后面忘记添加“:”ifspam==42print('Hello!')

系统 2019-09-27 17:50:54 1988

Python

Python split() 函数拆分字符串将字符串转化为列的方法

函数:split()Python中有split()和os.path.split()两个函数,具体作用如下:split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)os.path.split():按照路径将文件名和路径分割开一、函数说明1、split()函数语法:str.split(str="",num=string.count(str))[n]参数说明:str:表示为分隔符,默认为空格,但是不能为空('')。若字符串

系统 2019-09-27 17:50:49 1988

Python

python中协程实现TCP连接的实例分析

在网络通信中,每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接。所以我们尝试使用协程来实现服务器对多个客户端的响应。与单一TCP通信的构架一样,只是使用协程来实现多个任务同时进行。#服务端importsocketfromgeventimportmonkeyimportgeventmonkey.patch_all()defhandle_conn(seObj):whileTrue:re_Data=seObj.r

系统 2019-09-27 17:50:26 1988

Python

使用Protocol Buffers的C语言拓展提速Python程序的示例

ProtocolBuffers(类似XML的一种数据描述语言)最新版本2.3里,protoc―py_out命令只生成原生的Python代码。尽管PB(ProtocolBuffers)可以为C++语言生成快速解析和序列化代码,但是这种方式对于Python不适用,并且手动生成的已包装的代码需要非常大的维护工作。在讨论组里,这是一个常见的功能要求,由于一个必备的客户端组件―AppEngine(根据团队介绍名称为AppEngine),生成原生的Python代码有更

系统 2019-09-27 17:49:21 1988