python3

python3 字符串和bytes互相转换

时光毁灭记忆、已成空白 提交于 2019-12-17 01:25:26
1.字符串转成bytes:str.encode('utf-8') 示例1: >>>'abc'.encode('utf-8') >>>b'abc' >>>'123abc'.encode('utf-8') >>>b'123abc' >>>'我爱python'.encode('utf-8') >>>b'\xe6\x88\x91\xe7\x88\xb1python' 2.bytes转成bytes:bytes.decode('utf-8') 示例2: >>>b'abc'.decode('utf-8') >>>abc >>>b'\xe6\x88\x91\xe7\x88\xb1python'.decode('utf-8') >>>'我爱python' 来源: CSDN 作者: whatday 链接: https://blog.csdn.net/whatday/article/details/103556787

python3 分割函数 partition rpartition 函数

纵然是瞬间 提交于 2019-12-17 00:43:38
partition 函数,其实这个函数跟split差不多,都是字符串切割的。 举个例子: >>> a = 'changzhi1990' >>> a.rpartition('h') ('changz', 'h', 'i1990') 可以看到返回了一个三元的tuple,分别是‘h’ 的左边的字符串,分割符‘h’本身,和分割符‘h’的右边的字符串。注意:r 代表从右向左开始匹配。 >>> a = 'changzhi1990' >>> a.partition('h') ('c', 'h', 'angzhi1990') 这里是从左到右开始匹配的。 partition 从左向右寻找 ,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到元组中 rpartition 从右向左寻找 ,以字符串中的某个元素为中心将左右分割共分割成三个元素并放入到元组中 rpartition 示例如下: b = "hello is goog is world" b1 = b.rpartition("is") print(b1) 输出结果: ('hello is goog ', 'is', ' world') 来源: CSDN 作者: whatday 链接: https://blog.csdn.net/whatday/article/details/103557732

python3爬虫(一)

痴心易碎 提交于 2019-12-17 00:25:51
python3爬虫(一) 一 爬虫的错误处理 #encoding : utf-8 #author:wht@92 #爬虫程序一,两个错误的解决办法 # 2019-12-16 from urllib . request import urlopen from urllib . error import HTTPError from bs4 import BeautifulSoup def getTitle ( url ) : #检查网址是否可以打开 try : html = urlopen ( url ) except HTTPError as e : return None #检查服务器是否存在 try : bsobj = BeautifulSoup ( html . read ( ) ) title = bsobj . body . h1 except AttributeError as e : return None return title title = getTitle ( "http://www.pythonscraping.com/pages/page1.html" ) if title == None : print ( "Title could not be found" ) else : print ( title ) 二 属性值的抽取 #encoding :

python3 字符串查找 效率比较

前提是你 提交于 2019-12-17 00:18:51
Python中字符串查找方式有多种,常见的有re.match/search or str.find 用一个例子来说明各种方式的效率如下: from timeit import timeit import re def find(string, text): if string.find(text) > -1: pass def re_find(string, text): if re.match(text, string): pass def best_find(string, text): if text in string: pass print timeit("find(string, text)", "from __main__ import find; string='lookforme'; text='look'") print timeit("re_find(string, text)", "from __main__ import re_find; string='lookforme'; text='look'") print timeit("best_find(string, text)", "from __main__ import best_find; string='lookforme'; text='look'") 执行结果为: 0

python3 socket send sendall 区别

和自甴很熟 提交于 2019-12-17 00:14:18
在python socket编程中,有两个发送TCP的函数,send()与sendall(),区别如下: socket.send(string[, flags])  发送TCP数据,返回发送的字节大小。这个字节长度可能少于实际要发送的数据的长度。因为socket缓冲区容量有限,这个函数执行一次,并不一定能发送完给定的数据,可能需要重复多次才能发送完成。 示例: data = "something you want to send" len = 0 while True: len = s.send(data[len:]) if not len: break 上边例子,循环发送数据,直到数据全部发送完毕,则跳出循环, socket.sendall(string[, flags]) 发送完整的TCP数据,成功返回None,失败抛出异常 示例: data = "something you want to send" s.sendall(data) 来源: CSDN 作者: whatday 链接: https://blog.csdn.net/whatday/article/details/103564725

python基础(一)--python3运算符

安稳与你 提交于 2019-12-16 23:30:42
文章目录 动态语言与静态语言 算数运算符 位运算符 比较运算符 逻辑运算符 注意: 本文python版本3.6.9,在算数运算上Python3和Python2有一些区别 动态语言与静态语言 静态语言 声明了变量类型之后,变量的类型不能再改变,编译时会进行此类检查 动态语言 不用事先声明变量类型,随时可以赋值为其他类型 因此在编程时,有些变量的类型没有声明,使用时会比较难判断 python属于动态语言 算数运算符 + , - , * , / , // , %取模 , **幂运算 减法:主要用于数值的计算 , 有一些浮点数计算时,不能准确计算 >> > 3 - 1 2 >> > 1.1 - 0.9 0.20000000000000007 加法:可以用于数值的相加,也可以用于字符串的相加 >> > 'a' + 'b' 'ab' >> > 1 + 2 3 乘法:可以进行数值相乘,也可以复制字符串 >> > 3 * 3 9 >> > 'abc' * 3 'abcabcabc' 除法: / , // ,在python2中, / 和 // 都是整除 / 也叫自然除法,如果不能整除,会返回浮点数值 >> > 10 / 3 3.3333333333333335 >> > 3 / 1 3.0 ##python使用自然除法的时候总是得到浮点数 // 也叫地板除法,不能整除的会进行取整,使用向小取整的方式

centos6.5升级python3并配置pip

一个人想着一个人 提交于 2019-12-16 20:17:28
centos安装完成之后,第一件事就是安装python,但是linux一般都默认自带python2.6或者2.7,但是一些新的包不支持旧版本的python,因此需要对python进行升级。 参考链接: https://blog.csdn.net/qq_36288025/article/details/82534508 1、安装python之前需要安装一堆依赖包,虽然不知道干什么的,但是不安装会出错哦! yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make 2、接着安装另一个工具,与pip安装有关,但是我自己没有用到,保险起见都装上 yum install libffi-devel -y 3、下载python包,可以自己下载包,也可以通过wget在线下载(不推荐,很慢) ,方法如下: wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz 自己下载的话可以通过ssh发送至虚拟机!! 4、安装python 基本思路:解压->进入文件夹->配置config->make->make install 按照下面步骤依次执行: tar -zxvf Python-3.7

Python3 OS 文件/目录方法

天大地大妈咪最大 提交于 2019-12-16 19:35:06
Python3 OS 文件/目录方法 os 模块提供了非常丰富的方法用来处理文件和目录。常用的方法如下表所示: 序号 方法及描述 1 os.access(path, mode) 检验权限模式 2 os.chdir(path) 改变当前工作目录 3 os.chflags(path, flags) 设置路径的标记为数字标记。 4 os.chmod(path, mode) 更改权限 5 os.chown(path, uid, gid) 更改文件所有者 6 os.chroot(path) 改变当前进程的根目录 7 os.close(fd) 关闭文件描述符 fd 8 os.closerange(fd_low, fd_high) 关闭所有文件描述符,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略 9 os.dup(fd) 复制文件描述符 fd 10 os.dup2(fd, fd2) 将一个文件描述符 fd 复制到另一个 fd2 11 os.fchdir(fd) 通过文件描述符改变当前工作目录 12 os.fchmod(fd, mode) 改变一个文件的访问权限,该文件由参数fd指定,参数mode是Unix下的文件访问权限。 13 os.fchown(fd, uid, gid) 修改一个文件的所有权,这个函数修改一个文件的用户ID和用户组ID,该文件由文件描述符fd指定

2. Python标准库urllib.request模块_2(python3)

坚强是说给别人听的谎言 提交于 2019-12-16 18:34:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 参考学习地址: http://www.iplaypython.com # coding:utf-8 # 学习1 import urllib.request # print(dir(html)) # 获取网页所在的header信息 url=" http://www.iplaypython.com/" html=urllib.request.urlopen(url) # 获取网站返回的状态码 code = html.getcode() print("返回的状态码: %s" % code) if code == 200: print("网页正常") # 获取网页header信息,有网站编码格式 print(html.info()) # 获取访问的url print(html.geturl()) # # 读取html内容 (decode/encode 网页编码转换 'ignore' 表示忽略一些无法转换的字符) # html_content=html.read().decode("utf-8", 'ignore') # print(html_content) else: print("网页错误的状态码: %s " % code) # 学习2 def callback(a, b, c): """ @a

python3测试网站网速

廉价感情. 提交于 2019-12-16 13:18:35
一、运行环境 1、Windows 10 2、python 3.8 二、安装第三方库pycurl 1、先安装 pip install wheel 2、在安装pycurl https://download.lfd.uci.edu/pythonlibs/t7epjj8p/pycurl-7.43.0.3-cp38-cp38-win_amd64.whl 三、测试脚本 1 import pycurl 2 import os,sys 3 import time 4 import sys 5 6 7 try: 8 URL=sys.argv[1] # 测试网站的域名 9 except Exception as e: 10 print ("Error:"+str(e)) 11 print ("用法:请输入要探测的web地址") 12 sys.exit() 13 #URL="http://www.baidu.com" #测试网站的域名 14 c = pycurl.Curl() 15 c.setopt(pycurl.URL, URL) 16 c.setopt(pycurl.CONNECTTIMEOUT, 5) 17 c.setopt(pycurl.TIMEOUT, 5) 18 c.setopt(pycurl.NOPROGRESS, 1) 19 c.setopt(pycurl.FORBID_REUSE, 1