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. Luogu5205 【模板】多项式开根(NTT+多项式求逆)

    https://www.cnblogs.com/HocRiser/p/8207295.html 安利! 写NTT把i<<=1写成了i<<=2,又调了一年.发现我的日常就是数组开 ...

  2. hbase系列

    jvmhttps://www.cnblogs.com/jiyukai/p/6665199.html hbase https://blog.csdn.net/lizhitao/article/detai ...

  3. Heron and His Triangle HDU - 6222(pell 大数)

    ---恢复内容开始--- Heron and His Triangle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/2 ...

  4. 【XSY2714】大佬的难题 数学 树状数组

    题目描述 给你三个排列\(A,B,C\),求 \[ \sum_{1\leq x,y\leq n}[a_x<a_y][b_x<b_y][c_x<c_y] \] \(n\leq 2\ti ...

  5. 【ARC072E】Alice in linear land DP

    题目大意 有一个人要去直线上\(lm\)远处的地方,他会依次给他的机器发出\(n\)个指令.第\(i\)个指令为\(d_i\).他的机器收到一个指令\(x\)后,如果向目的地方向前进\(xm\)后比当 ...

  6. JS 实现DIV 滚动至顶部后固定

    JS 实现DIV 滚动至顶部后固定 <!DOCTYPE HTML> <html> <head> <meta charset="UTF-8" ...

  7. Hdoj 1159.Common Subsequence 题解

    Problem Description A subsequence of a given sequence is the given sequence with some elements (poss ...

  8. 25 Zabbix系统数据表结构介绍

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 25 Zabbix系统数据表结构介绍 自学Zabbix之路15.1 Zabbix数据库表结构简单解 ...

  9. 05 Zabbix4.0触发器表达式Trigger expression支持的函数

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 05 Zabbix4.0触发器表达式Trigger expression支持的函数 所有函数返回值 ...

  10. centos7添加并挂载新硬盘

    环境目标: 配置一台centos7,主硬盘40G装系统:副硬盘200G作为数据盘(格式:XFS)挂载到根目录:/data/ 说明:XFS是高性能文件系统,SGI为他们的 IRIX平台而设计: 自从20 ...