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遇到的知识点的更多相关文章

  1. Python数据分析--Pandas知识点(三)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) Python数据分析--Pandas知识点(二) 下面将是在知识点一, ...

  2. Python数据分析--Pandas知识点(二)

    本文主要是总结学习pandas过程中用到的函数和方法, 在此记录, 防止遗忘. Python数据分析--Pandas知识点(一) 下面将是在知识点一的基础上继续总结. 13. 简单计算 新建一个数据表 ...

  3. Python 五个知识点搞定作用域

    Python 五个知识点搞定作用域 1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗? #块级作用域 if 1 == 1: name = "lzl" print(na ...

  4. python基础全部知识点整理,超级全(20万字+)

    目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https:// ...

  5. Python自动化办公知识点整理汇总

    知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人,却 ...

  6. python复习。知识点小记

    1.对于单个字符的编码,Python提供了ord()函数获取字符的整数表示,chr()函数把编码转换为对应的字符: >>> ord('A') >>> ord('中' ...

  7. python代码零散知识点

    1.用python读入csv文件 green_taxi1=pd.DataFrame(pd.read_csv('../../../../MatlabCode/data/green/green_tripd ...

  8. day-4 python多进程编程知识点汇总

    1. python多进程简介 由于Python设计的限制(我说的是咱们常用的CPython).最多只能用满1个CPU核心.Python提供了非常好用的多进程包multiprocessing,他提供了一 ...

  9. day-3 python多线程编程知识点汇总

    python语言以容易入门,适合应用开发,编程简洁,第三方库多等等诸多优点,并吸引广大编程爱好者.但是也存在一个被熟知的性能瓶颈:python解释器引入GIL锁以后,多CPU场景下,也不再是并行方式运 ...

随机推荐

  1. 洛谷P1123取数游戏题解

    题目 这是一道简单的搜索题,考查的还是比较基础的东西,其时搜索有时候并不难写,主要是要想到怎么搜.比如这个题,如果想二维四个方向搜则没有头绪,反之因为搜索是用递归实现的,所以我们可以使用递归的特性,把 ...

  2. HBase电子书

    HBase 不睡觉书  https://pan.baidu.com/s/1d4u7pPAu_B3sW5w9x1ARdA HBase2018年年度总结 https://pan.baidu.com/s/1 ...

  3. @ResponseBody注解

    作用 @ResponseBody注解表示该方法的返回结果直接写入HTTP response body中 原理 在使用此注解之后跳过视图处理器,将返回的对象通过适当的转换器转换为指定的格式之后,直接将数 ...

  4. 通俗易懂的来理解Iaas,Paas,SaaS

    首先我们先来了解一下这几个单词的意思和完全的英文 Iaas:Infrastructure as a service    基础设施即服务 Paas:Platform as a service   平台 ...

  5. 51nod1079 poj2891 中国剩余定理与其扩展

    题目链接:http://www.51nod.com/Challenge/Problem.html#!#problemId=1079 一个正整数K,给出K Mod 一些质数的结果,求符合条件的最小的K. ...

  6. ubuntu 15 安装docker

    最近听说Docker很火,不知道什么东西,只知道是一个容器,可以跨平台.闲来无事,我也来倒弄倒弄.本文主要介绍:Ubuntu下的安装,以及基本的入门命令介绍:我的机器是Ubuntu 15.04 64位 ...

  7. Arcgis for qml - 鼠标拖拽移动

    以实现鼠标拖拽文本图层为例 GitHub:ArcGIS拖拽文本 作者:狐狸家的鱼 目的是利用鼠标进行拖拽. 实现两种模式,一种是屏幕上的拖拽,第二种是地图上图层的挪动. 屏幕上的拖拽其实跟ArcGIS ...

  8. Electron入门笔记(一)-自己快速搭建一个app demo

    Electron学习-快速搭建app demo 作者: 狐狸家的鱼 Github: 八至 一.安装Node 1.从node官网下载 ,最好安装.msi后缀名的文件,新手可以查看安装教程进行安装. 2. ...

  9. Git错误汇总

    Git提示rejected To github.com:zhuxiaoxi/Web-Demo.git ! [rejected] master -> master (fetch first) er ...

  10. 【CF263D】Cycle in Graph

    题目大意:给定一个 N 个点,M 条边的无向图,保证图中每个节点的度数大于等于 K,求图中一条长度至少大于 K 的简单路径,输出长度和路径包含的点. 题解:依旧采用记录父节点的方式进行找环,不过需要记 ...