编程技术 - 军军小站|张军博客
Python

Python的互斥锁与信号量详解

并发与锁多个线程共享数据的时候,如果数据不进行保护,那么可能出现数据不一致现象,使用锁,信号量、条件锁互斥锁1.互斥锁,是使用一把锁把代码保护起来,以牺牲性能换取代码的安全性,那么Rlock后必须要relase解锁不然将会失去多线程程序的优势2.互斥锁的基本使用规则:importthreading#声明互斥锁lock=threading.Rlock();defhandle(sid):#功能实现代码lock.acquire()#加锁#writercodein

系统 2019-09-27 17:45:51 1866

Python

python基本语法之汇率转化

#汇率的转化rmb_str_value=input('请输入你要转化的人民币金额')rmb_int_value=eval(rmb_str_value)us_vs_rmb=6.77usd_value=rmb_int_value/us_vs_rmbprint('美元的金额',usd_value)

系统 2019-09-27 17:45:50 1866

Python

Centos7 安装Python3.6

一.安装python31.下载python源码包官网网址:https://www.python.org/downloads/我的版本下载地址:wgethttps://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz2.编译安装python3.6的步骤2.1安装python前的库环境,非常重要yuminstall-ygccpatchlibffi-develpython-develzlib-develbzi

系统 2019-09-27 17:45:41 1866

Python

Python中decorator使用实例

在我以前介绍Python2.4特性的Blog中已经介绍过了decorator了,不过,那时是照猫画虎,现在再仔细描述一下它的使用。关于decorator的详细介绍在Python2.4中的What'snew中已经有介绍,大家可以看一下。如何调用decorator基本上调用decorator有两种形式第一种:复制代码代码如下:@Adeff():这种形式是decorator不带参数的写法。最终Python会处理为:复制代码代码如下:f=A(f)还可以扩展成:复制

系统 2019-09-27 17:38:31 1866

Python

分享Python开发中要注意的十个小贴士

大家请注意:这篇文中假设我们都用的是Python31.列表推导式你有一个list:bag=[1,2,3,4,5]现在你想让所有元素翻倍,让它看起来是这个样子:[2,4,6,8,10]大多初学者,根据之前语言的经验会大概这样来做bag=[1,2,3,4,5]foriinrange(len(bag)):bag[i]=bag[i]*2但是有更好的方法:bag=[elem*2foreleminbag]很简洁对不对?这叫做Python的列表推导式。2.遍历列表继续,

系统 2019-09-27 17:38:30 1866

Python

Python3实现Web网页图片下载

先来介绍一些pythonweb编程基础知识1.GET与POST区别1)POST是被设计用来向web服务器上放东西的,而GET是被设计用来从服务器取东西的,GET也能够向服务器传送较少的数据,而Get之所以也能传送数据,只是用来设计告诉服务器,你到底需要什么样的数据.POST的信息作为HTTP请求的内容,而GET是在HTTP头部传输的;2)POST与GET在HTTP中传送的方式不同,GET的参数是在HTTP的头部传送的,而Post的数据则是在HTTP请求的内

系统 2019-09-27 17:38:29 1866

Python

利用python批量检查网站的可用性

前言随着站点的增多,管理复杂性也上来了,俗话说:人多了不好带,我发现站点多了也不好管,因为这些站点里有重要的也有不重要的,重要核心的站点当然就管理的多一些,像一些万年都不出一次问题的,慢慢就被自己都淡忘了,冷不丁那天出个问题,还的手忙脚乱的去紧急处理,所以规范的去管理这些站点是很有必要的,今天我们就做第一步,不管大站小站,先统一把监控做起来,先不说业务情况,最起码那个站点不能访问了,要第一时间报出来,别等着业务方给你反馈,就显得我们不够专业了,那接下来我们

系统 2019-09-27 17:38:21 1866

Python

常见python正则用法的简单实例

下面列出Python正则表达式的几种匹配用法:1.测试正则表达式是否匹配字符串的全部或部分regex=ur""#正则表达式ifre.search(regex,subject):do_something()else:do_anotherthing()2.测试正则表达式是否匹配整个字符串regex=ur"\Z"#正则表达式末尾以\Z结束ifre.match(regex,subject):do_something()else:do_anotherthing()3

系统 2019-09-27 17:38:16 1866

Python

python遍历 truple list dictionary的几种方法总结

实例如下:defTestDic1():dict2={'aa':222,11:222}forvalindict2:printvaldefTestDic2():dict2={'aa':222,11:222}for(key,val)indict2.items():printkey,":",valdefTestList1():list=[1,2,3,4,5,3,2,'ada','fs3']foriinrange(len(list)):printlist[i]def

系统 2019-09-27 17:38:16 1866

Python

详细解读Python中解析XML数据的方法

Python可以使用xml.etree.ElementTree模块从简单的XML文档中提取数据。为了演示,假设你想解析PlanetPython上的RSS源。下面是相应的代码:fromurllib.requestimporturlopenfromxml.etree.ElementTreeimportparse#DownloadtheRSSfeedandparseitu=urlopen('http://planet.python.org/rss20.xml')

系统 2019-09-27 17:38:13 1866

Python

Python提取Linux内核源代码的目录结构实现方法

今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出目录名和文件名,而没有绝对路径。使用os.path.listdir可以达到这个目的,然后是创建目录,由于当目录存在是会提示创建失败的错误,所以我先想删除所有目录,然后再创建,但是发现还是有问题,最好还是使用判断如果不存在才创建目录,存在时就不创建,贴下代码:#

系统 2019-09-27 17:38:11 1866

Python

python连接mysql实例分享

示例一#coding=UTF-8importsysimportMySQLdbimporttimereload(sys)sys.setdefaultencoding('utf-8')defconnectDemo():returnMySQLdb.Connection("127.0.0.1","root","root","demo",3306,charset="utf8")if__name__=='__main__':begin=time.time()conn=

系统 2019-09-27 17:37:59 1866

Python

如何在Python中编写并发程序

GIL在Python中,由于历史原因(GIL),使得Python中多线程的效果非常不理想.GIL使得任何时刻Python只能利用一个CPU核,并且它的调度算法简单粗暴:多线程中,让每个线程运行一段时间t,然后强行挂起该线程,继而去运行其他线程,如此周而复始,直到所有线程结束.这使得无法有效利用计算机系统中的"局部性",频繁的线程切换也对缓存不是很友好,造成资源的浪费.据说Python官方曾经实现了一个去除GIL的Python解释器,但是其效果还不如有GIL

系统 2019-09-27 17:37:58 1866

Python

Python OS模块常用函数说明

Python的标准库中的os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。即它允许一个程序在编写后不需要任何改动,也不会发生任何问题,就可以在Linux和Windows下运行。下面列出了一些在os模块中比较有用的部分。它们中的大多数都简单明了。os.sep可以取代操作系统特定的路径分隔符。windows下为“\\”os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Un

系统 2019-09-27 17:37:58 1866

Python

python 把数据 json格式输出的实例代码

有个要求需要在python的标准输出时候显示json格式数据,如果缩进显示查看数据效果会很好,这里使用json的包会有很多操作importjsondate={u'versions':[{u'status':u'CURRENT',u'id':u'v2.3',u'links':[{u'href':u'http://controller:9292/v2/',u'rel':u'self'}]},{u'status':u'SUPPORTED',u'id':u'v2.

系统 2019-09-27 17:37:44 1866