目录
一、标准库
二、字符串操作
三、字符串类型
四、 时间操作
五、文件基本方法及操作
文件基本方法
文件操作
一、标准库
Python 标准库非常庞大,所提供的组件涉及范围十分广泛,正如以下内容目录所显示的。这个库包含了
Python中的图标含义
c代表Class:
m代表Method:类实例方法
F代表Function:函数
f代表Field:类属性,域
v代表Variable:变量
p代表Property:python内置函数
p代表Parameter:参数
<>代表Element:元素
二、字符串操作
print(string.ascii_letters) print(f'生成随机字母的长度{len(string.ascii_letters)}') # ascii_lowercase --小写字母 ascii_uppercase ---大写字母 print(string.ascii_lowercase) print(string.ascii_uppercase) print(string.digits) # 数字(0-9)
from random import randint# 需求:利用python使用string模快随机生成一个右四位验证码 ,不区分大小写 code='' temp=string.ascii_letters for i in range(4): code+=temp[randint(0,len(temp))] print(code)
# **格式字符串语法** print('{2}, {1}, {0}'.format('a', 'b', 'c')) print('{2}, {1}, {0}'.format(*'abc')) print('{0}{1}{0}'.format('abra', 'cad'))
print('Coordinates: {latitude}, {longitude}'.format(latitude='37.24N', longitude='-115.81W')) # 访问参数的属性: c = 3-5j d = 5-3j print(('The complex number {0} is formed from the real part {0.real} ' 'and the imaginary part {1.imag}.').format(c,d)) print(c.imag) print(c.real)
三、字符串类型
print('01\t012\t0123\t01234'.expandtabs()) #空格隔开 print('01\t012\t0123\t01234'.expandtabs(3)) print('Py' in 'Python') # print("python".index("x")) #报错 print("python is great".find("x")) #不报错 返回-1 print("liuyifei.png".startswith("liuyifei")) #前缀是liuyifei print("liuyifei.png".endswith("png"))#后缀是png print(",".join(["1", "2", "3", "4"]))
# 在java里 ,let arr=[1,2,3,5] ,把数组转为json数据---> arr.join(",") # 在python里使用 ",".join(["1", "2", "3", "4"])
# 方案一:利用find方法完成 x = "python is great sdfsafstsfsftwst s" t = 't' index = x.find(t) total = 0 while index != -1: total += 1 index = x.find(t, index + 1) print(f"方案一:{t}出现了{total}次") # 方案二:利用replace方法完成 y = x.replace(t, "") print(f"方案二:{t}出现了{len(x) - len(y)}次") # 方案三:利用count方法完成 print(f"方案三:{t}出现了{x.count(t)}次")
四、 时间操作
#时间 from datetime import datetime # 导入datetime t=datetime.today() print(t.year) print(t.month) print(t.day) print(t.time()) print("----------------") sj=datetime(2023,1,1) print(t.year)
五、文件基本方法及操作
文件基本方法
# 文件基本介绍 from pathlib import Path print(Path.cwd()) # print(Path(__file__)) print(__file__)
文件夹名和文件名不可重复
新建ii文件
imgdir = 'E:\\temp\\images' p1 = Path(imgdir + '\\ii') # p1 = Path(imgdir+'\\T280') # p1 = Path(imgdir+'\\ii.txt') print(p1.exists()) # 是否存在 print(p1.is_dir()) # 是不是文件夹 print(p1.is_file()) # # 新建文件 p1.touch()#在当前目录下新建文件
新建ii文件夹
imgdir = 'E:\\temp\\images' p1 = Path(imgdir + '\\ii') # p1 = Path(imgdir+'\\T280') # p1 = Path(imgdir+'\\ii.txt') print(p1.exists()) # 是否存在 print(p1.is_dir()) # 是不是文件夹 print(p1.is_file()) # # 新建文件夹 # p1.mkdir()
imgdir = 'E:\\temp\\images' p1 = Path(imgdir + '\\1656592456612.jpg') print(p1.resolve()) # print(str(p1.resolve())) print(str(p1.resolve()).endswith('.jpg')) print(p1.suffix == '.jpg') #整个文件后缀 # # # 父级 print(p1.parent) for i in p1.parents: print(i) # # 拿第二级 print(p1.parents[1]) # 最后一级 print(list(p1.parents)[-1])
读写
读写
p = Path(imgdir+'\\ff.txt')
p.touch()
p.write_text("你好啊", encoding='utf-8')
p.read_text(encoding='utf-8')
查看当前子文件
查看当前的子文件 imgdir = 'E:\\temp\\images\\T280' p = Path(imgdir) for i in p.iterdir(): if i.suffix == '.jpg': print(i)
#读写 p = Path(imgdir+'\\ff.txt') p.touch() p.write_text("你好啊", encoding='utf-8') p.read_text(encoding='utf-8') print(p.with_name('xx')) print(p.with_suffix('.jpg')) print(p.name)
文件操作
# 查看所有的子文件
# 文件操作 # 查看所有文件 from pathlib import Path # imgdir = 'E:\\temp\\images\\T280' # 查看所有的子文件 def each(folder:Path): for f in folder.iterdir(): if f.is_file(): print(f) else: each(f) p=Path(imgdir) each(p)
# 拿到当前路径下的 png 文件
# 拿到当前路径下的 jpg 文件 imgdir = 'E:\\temp\\images\\T280' p=Path(imgdir) # for i in p.glob('*.jpg'): # print(i) # 拿到当前路径下所有的 png 文件 for i in p.rglob('*.jpg'): print(i)
复制文件
fold = Path(imgdir+'\\T280')
for f in fold.iterdir():
if f.is_file():
# 为每一个f生成一个备份文件 xx_bk.png
f2 = Path(f.with_name(f.name.replace(".","_bk.")))
f2.touch()
# 将原来的内容挪过去就可以了
f2.write_bytes(f.read_bytes())