首先,介绍一下编码类型:然后,再看一下编码类型的转换过程:python程序是在内存中运行,因此应该处理的是Unicode类型的字符串,文件或终端中的各种编码方式,可以理解为py3中的Bytes类型。Unicode只能在内存中使用Bytes是在文件存储和网络数据传输中使用记住我们的程序要处理的是Unicode类型下面看一下py2和py3中字符串的类型:py2:py3:看起来好像一样,都是str类型,其实对应的编码方式是不一样的,请看下图:这样是否看出区别了呢
系统 2019-09-27 17:49:37 1941
文章作者:Tyan博客:noahsnail.com|CSDN|1.引言众所周知,Python语言简单、易学、开源、具有丰富的库,Python的第一个编译器是用C语言实现的。但Python的缺点也非常明显,最让人诟病的就是Python的性能问题。因此,为了提高程序的运行效率,通常会将程序的关键部分使用C或C++重写,编译成动态链接库,然后在Python(CPython)中进行调用。运行环境:Ubuntu16.04、Python2.7、Python3.5。2.
系统 2019-09-27 17:49:19 1941
目录一、进程之间的数据共享1.1Manager模块介绍1.2Manager例子一、进程之间的数据共享展望未来,基于消息传递的并发编程是大势所趋即便是使用线程,推荐做法也是将程序设计为大量独立的线程集合,通过消息队列交换数据。这样极大地减少了对使用锁定和其他同步手段的需求,还可以扩展到分布式系统中。但进程间应该尽量避免通信,即便需要通信,也应该选择进程安全的工具来避免加锁带来的问题。以后我们会尝试使用数据库来解决现在进程之间的数据共享问题。1.1Manage
系统 2019-09-27 17:49:06 1941
在Python中对象的赋值其实就是对象的引用。当创建一个对象,把它赋值给另一个变量的时候,python并没有拷贝这个对象,只是拷贝了这个对象的引用而已。浅拷贝:拷贝了最外围的对象本身,内部的元素都只是拷贝了一个引用而已。也就是,把对象复制一遍,但是该对象中引用的其他对象我不复制深拷贝:外围和内部元素都进行了拷贝对象本身,而不是引用。也就是,把对象复制一遍,并且该对象中引用的其他对象我也复制。深浅拷贝的作用1,减少内存的使用2,以后在做数据的清洗、修改或者入
系统 2019-09-27 17:48:59 1941
较新的pip已经支持list--outdated了,所以记录一下新的方法:piplist--outdated--format=legacy|awk'{print$1}'|xargssudo-Hpipinstall-Upip3list--outdated--format=legacy|awk'{print$1}'|xargssudo-Hpip3install-Uformat有两个选项,一个是legacy,一个是columns。后者会带一个表头:Package
系统 2019-09-27 17:48:18 1941
DesktopNexus是我最喜爱的一个壁纸下载网站,上面有许多高质量的壁纸,几乎每天必上,每月也必会坚持分享我这个月来收集的壁纸但是DesktopNexus壁纸的下载很麻烦,而且因为壁纸会通过浏览器检测你当前分辨率来展示合适你当前分辨率的壁纸,再加上是国外的网站,速度上很不乐观。于是我写了个脚本,检测输入的页面中壁纸页面的链接,然后批量下载到指定文件夹中。脚本使用python写的,所以需要机器上安装有python。用法:$pythondesktop_ne
系统 2019-09-27 17:48:08 1941
1、Requests模块说明Requests是使用Apache2Licensed许可证的HTTP库。用Python编写,真正的为人类着想。Python标准库中的urllib2模块提供了你所需要的大多数HTTP功能,但是它的API太渣了。它是为另一个时代、另一个互联网所创建的。它需要巨量的工作,甚至包括各种方法覆盖,来完成最简单的任务。在Python的世界里,事情不应该这么麻烦。Requests使用的是urllib3,因此继承了它的所有特性。Requests
系统 2019-09-27 17:38:31 1941
时候难免需要直接调用Shell命令来完成一些比较简单的操作,比如mount一个文件系统之类的。那么我们使用Python如何调用Linux的Shell命令?下面来介绍几种常用的方法:1.os模块1.1.os模块的exec方法族Python的exec系统方法同Unix的exec系统调用是一致的。这些方法适用于在子进程中调用外部程序的情况,因为外部程序会替换当前进程的代码,不会返回。(这个看了点help(os)-->search"exec"的相关介绍,但是没太搞
系统 2019-09-27 17:38:00 1941
python提取照片坐标信息的代码如下所示:fromPILimportImagefromPIL.ExifTagsimportTAGSimportosoutput="Z://result.csv"out=open(output,'a')out.write('lat,lon\n')fpath="Z://iphonephoto"foriteminos.walk(fpath):ob=item[2]foriinob:name=fpath+'/'+str(i)ret=
系统 2019-09-27 17:57:04 1940
目的:获取腾讯社招这个页面的职位名称及超链接职位类别人数地点和发布时间要求:使用bs4进行解析,并把结果以json文件形式存储注意:如果直接把python列表没有序列化为json数组,写入到json文件,会产生中文写不进去到文件,所以要序列化并进行utf-8编码后写入文件。#-*-coding:utf-8-*-importrequestsfrombs4importBeautifulSoupasbsimportjsonurl='https://hr.tenc
系统 2019-09-27 17:57:04 1940
Linux终端中的操作均是使用命令行来进行的。因此,对于小白来说,熟记几个基本的命令行和使用方法能够较快的在Linux命令行环境中将python用起来。打开命令行窗口打开命令行窗口的快捷键如下:Ctrl+Alt+t关闭名命令行窗口关闭命令行窗口的快捷键如下:Ctrl+d进入python环境在命令行中直接输入python即进入了python的编辑环境。进入环境后最明显的提示是:光标由~$变成>>>。退出python环境使用ctrl+d的方式退出python环
系统 2019-09-27 17:56:01 1940
使用os.environ来读取和修改环境变量:复制代码代码如下:importosprint(os.environ["TEMP"])mydir="c:\\mydir"os.environ["MYDIR"]=mydirprint(os.environ["MYDIR"])pathV=os.environ["PATH"]print(pathV)os.environ["PATH"]=mydir+";"+os.environ["PATH"]print(os.envir
系统 2019-09-27 17:54:00 1940
阻塞IO(blockingIO)在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:当用户进程调用了recvfrom这个系统调用,kernel内核就开始了IO的第一个阶段:准备数据。对于networkio(网络io)来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel(内核)就要等待足够的数据到来。等着对方把数据放到自己操作系统内存而在用户进程这边,整个进程会被阻塞。
系统 2019-09-27 17:53:03 1940
爬虫爬取网页信息的思路:发送网页端请求—>获取响应内容—>解析内容—>获取想要的数据—>保存数据这次我们要实现的是爬取静态网页的股票数据,首先是获取沪深A股的所有股票代码,再用这些股票代码获取相应股票的信息东方财富网有所有个股的股票代码(沪深A股所有股票)查看其网页源代码在网页源代码中可以搜索到相应的元素,判断其是数据是静态的接下来是获取每只个股的信息,由于周六日没开市,东方财富网的个股信息没有显示这里改用百度股市通(个股)同样地检查元素可以发现个股的信息
系统 2019-09-27 17:52:55 1940
本文是从matplotlib官网上摘录下来的一个实例,实现的功能是Python+matplotlib绘制自定义饼图作为散点图的标记,具体如下。首先看下演示效果实例代码:importnumpyasnpimportmatplotlib.pyplotasplt#firstdefinetheratiosr1=0.2#20%r2=r1+0.4#40%#definesomesizesofthescattermarkersizes=np.array([60,80,120
系统 2019-09-27 17:52:31 1940