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. kibana get 查询失效

    kibana版本:5.4 在使用kibana 查询数据时,如果我们根据数据id 来获得一条数据,写法 get 索引名称/类型名称/文档主键 如:get testindex/testtype/01 这样 ...

  2. HBase 清空表数据

    public int clearTableByTableName(String tableName) throws Exception { logger.debug("======InitH ...

  3. Linux 遍历目录下面所有文件,将目录名、文件名转为小写

    当你从 Windows 服务器换到 Linux 服务器的时候,以前的上传目录的目录名.文件名会遇到大小写的问题.在 Windows 环境下面没有文件区分大小写的概念,而 Linux 却有严格的文件名大 ...

  4. Mysql 从入门到遗忘

    高级数据过滤: WHERE AND OR NOT 总是与其他操作符一起使用,用在要过滤的前面. 通配符过滤: LIKE: %相当于正则中的.*?,_相当于正则中的.. $ select id from ...

  5. can物理信号-----------显性和隐性

    can信号使用差分电压传送,两条信号线被称为CAN_H和CAN_L.静态时均是2.5v左右,此时状态表示为逻辑“1”,也可以叫做隐性.用CAN_H比CAN_L高表示逻辑“0”,称为显性,此时通常电压值 ...

  6. 状压DP总结

    状态压缩就是将一行的状态压成一个二进制数,这个数的二进制形式反映了这一行的情况 比如0100111的意义为:这一排的第一个数没被使用,第二个被占用了,第三四个没被占用,第五六七个被占用 我们知道位运算 ...

  7. [BOI2007]Mokia 摩基亚(CDQ分治)

    upd:\((x1,y1)(x2,y2)\)表示以\((x1,y1)\)为左上端点 \((x2,y2)\)为右下端点的矩形 本来以为是一道二位树状数组的模板,但是看数据范围之后就放弃了,边界既然到了2 ...

  8. 牛客练习赛28 B数据结构(线段树)

    链接:https://www.nowcoder.com/acm/contest/200/B来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言5242 ...

  9. iview 模态框点击确定按钮不消失

    <div slot="footer"> <Button type="text" size="large" @click=& ...

  10. HDU/HDOJ 4864 Task

    贪心题. 贪心方法很是naive...... 首先我们就能注意到一个性质:优先选择时间(x)长的,然后才是等级(y). 所以我们把机器和任务排好序,从大到小枚举任务.对于每一个x满足的机器,x也一定满 ...