python遇到的知识点
python遇到的知识点,记录一下。方便学习。
文件相关操作
查了资料,关于open()的mode参数: 'r':读 'w':写 'a':追加 'r+' == r+w(可读可写,文件若不存在就报错(IOError)) 'w+' == w+r(可读可写,文件若不存在就创建) 'a+' ==a+r(可追加可写,文件若不存在就创建) 对应的,如果是二进制文件,就都加一个b就好啦: 'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
判断文件或者文件夹是否存在,若不存在就创建
from pathlib import Path
import os
# 判断os文件夹是否存在 返回true或者false
exists = Path("os").exists()
# 如果不存在就创建,注意这里是makedirs方法,可以递归创建文件夹。mkdir是只能创建一级目录
if not exists:
os.makedirs("os")
把网络上的图片保存到本地
# 首先根据reuqest第三方模块得到这个图片 图片的内容调content方法。注意是二进制的数据
url="https://goss.veer.com/creative/vcg/veer/800water/veer-120719876.jpg"
content = requests.get(url).content
# 打开一个文件,只要是图片格式就可以,不存在自己创建,模式是可写的二进制,然后写入。通过这种写入方式你不需要关闭文件。很方便。
# 获取图片url的名字 veer-120719876.jpg
img_name=url.split("/")[-1]
with open(img_name, "wb") as f:
f.write(content)
读取文件内容
# 读取文件并且指定文件的编码格式,如果不指定就会报错
t = open("demo.py",encoding='UTF-8')
# 读取全部的数据
print(t.read())
# 读取一行
print(t.readline())
# 关闭文件
t.close()
拷贝文件
# 高级的 文件、文件夹、压缩包 处理模块
import shutil
# 将hi.py文件拷贝到hi2.py文件中。hi2.py会自动创建 (copyfileobj方法只会拷贝文件内容)
shutil.copyfileobj(open('hi.py','r',encoding="utf-8"), open('hi2.py', 'w',encoding="utf-8"))
#(copyfile只拷贝文件内容)
shutil.copyfile('hi.py', 'hi2222.py')
# shutil.copy(src, dst) 拷贝文件和权限
shutil.copy('hi.py', 'hi2222.py')
编码问题,字节和字符串的互转
s="abc"
b = b"example"
#第二种方法
print(bytes(s, encoding = "utf8"))
print(str(b, encoding="utf-8"))
#第一种方法(推荐)
print( str.encode(s,encoding="utf-8"))
print( bytes.decode(b,encoding="utf-8"))
md5加密
from hashlib import md5
a=md5() # 实例化
a.update("abc".encode('utf8'))# 开始加密
b=a.hexdigest()#获得加密之后的文本
print(str(b))
打开一张本地的图片
from PIL import Image
try:
im = Image.open('captcha.jpg')
im.show()
im.close()
except:
pass
将字符串转换成 selector 用于xpath和css的提取
from lxml import etree selector=etree.HTML(source)
python遇到的知识点的更多相关文章
- Python数据分析--Pandas知识点(三)
本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...
- Python数据分析--Pandas知识点(二)
本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表 ...
- Python 五个知识点搞定作用域
Python 五个知识点搞定作用域 1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? #块级作用域 if 1 == 1: name = "lzl" print(na ...
- python基础全部知识点整理,超级全(20万字+)
目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...
- Python自动化办公知识点整理汇总
知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却 ...
- python复习。知识点小记
1.对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: >>> ord('A') >>> ord('中' ...
- python代码零散知识点
1.用python读入csv文件 green_taxi1=pd.DataFrame(pd.read_csv('../../../../MatlabCode/data/green/green_tripd ...
- day-4 python多进程编程知识点汇总
1. python多进程简介 由于Python设计的限制(我说的是咱们常用的CPython).最多只能用满1个CPU核心.Python提供了非常好用的多进程包multiprocessing,他提供了一 ...
- day-3 python多线程编程知识点汇总
python语言以容易入门,适合应用开发,编程简洁,第三方库多等等诸多优点,并吸引广大编程爱好者.但是也存在一个被熟知的性能瓶颈:python解释器引入GIL锁以后,多CPU场景下,也不再是并行方式运 ...
随机推荐
- .net MVC 访问404
MVC 项目访问总是404 有几种情况: 1 地址打错了. 2 controller/action 但是action方法含有[ActionName("Index")] 重命名了. ...
- ContOS 常用命令
文件与目录操作 命令 解析 cd /home 进入 ‘/home’ 目录 cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd - 返回上次所在目录 cp file1 file2 将fi ...
- windows查看进程占用并强制结束进程
打开命令提示符(CMD) 查看8080端口被哪个进程占用了,命令:netstat -ano|findstr 8080 上面的8080端口的PID是30160,可以根据PID可以杀死这个进程,用下面 ...
- 「Splay」区间翻转
传送门:>Here< 解法分析 用splay来维护这个序列. 一直没有搞明白的是,这里的splay的节点究竟维护的是什么?是权值吗?肯定不是,因为区间是会翻转的,如果维护权值的话很快平衡树 ...
- 用随机投掷飞镖法计算Pi值(Randomness Throwing dart Pi Python)
画一个边长为r的正方形和半径为r的四分之一的圆(如下图所示),向上面随机投掷飞镖,通过计算落在星星区域和整体区域的飞镖比例,即可求出π值. 公式推导如下: 假设正方形的边长r为1,那么飞镖落在星星区域 ...
- pytorch搭建简单网络
pytorch搭建一个简单神经网络 import torch import torch.nn as nn # 定义数据 # x:输入数据 # y:标签 x = torch.Tensor([[0.2, ...
- 爬虫_拉勾网(解析ajax)
拉勾网反爬虫做的比较严,请求头多添加几个参数才能不被网站识别 找到真正的请求网址,返回的是一个json串,解析这个json串即可,而且注意是post传值 通过改变data中pn的值来控制翻页 job_ ...
- 【UOJ#236】[IOI2016]railroad(欧拉回路,最小生成树)
[UOJ#236][IOI2016]railroad(欧拉回路,最小生成树) 题面 UOJ 题解 把速度看成点,给定的路段看成边,那么现在就有了若干边,然后现在要补上若干边,以及一条\([inf,\) ...
- [SPOJ913]QTREE2 - Query on a tree II【倍增LCA】
题目描述 [传送门] 题目大意 给一棵树,有两种操作: 求(u,v)路径的距离. 求以u为起点,v为终点的第k的节点. 分析 比较简单的倍增LCA模板题. 首先对于第一问,我们只需要预处理出根节点到各 ...
- Expand the scale swarm 副本增减实现负载均衡
#创建好了swarm集群后,我们可以部署一个httpd应用来了解工作情况:#执行以下命令来部署应用: docker service create --name web_server httpd --n ...