1.当前目录内容 “./” os.waik("./")
文件夹内所有文件
[语法] for 路径,目录名,文件名 in os.walk("./")
# --*coding:utf-8*--
import os
print(os.walk("./"))
for 路径,目录,文件 in os.walk("./"):
print(路径)
print(目录)
print(文件)
"""-------输出----------"""
<generator object _walk at 0x0000000001224900>
./
[]
['0000.py', '001 面向对象 洗衣机.py', '002 面向对象 烤地瓜.py']
2. 带路径 改名
os.rename(路径+"/"+文件.name,新名字)
for 路径,目录名,文件s in os.walk("./"): # 当前目录
for 文件 in os.scandir(路径):
os.rename(路径+"/"+文件.name,新名字)
3. 一个文件夹 复制到另一个文件夹 shutil.copytree
#--*coding:utf-8*--
import os
import shutil
path="D:"
os.chdir(path)
if os.path.exists("新建文件测试"):
shutil.rmtree("新建文件测试")
shutil.copytree("新建文件夹","新建文件测试")
4. 文件创建日期
os.stat(路径 + “/” + 文件名)和 文件名.stat().
for 路径, 目录名, 文件s in os.walk("./") : # 当前目录
for 文件名 in 文件s :
文件创建日期 = datetime.fromtimestamp(os.stat(路径 + "/" + 文件名).st_mtime).date()
print(文件名) #简要说明.txt
for 路径, 目录名, 文件s in os.walk("./") : # 当前目录
for 文件名 in os.scandir(路径) :
文件创建时间 = datetime.fromtimestamp(文件名.stat().st_mtime).date()
print(文件名) #<DirEntry '简要说明.txt'>
print()文件名.name) #
==总结下: ==
4.1 时差
import os
from datetime import datetime
文件创建日期 = datetime.fromtimestamp(os.stat(路径 + "/" + 文件名).st_mtime).date()
现在日期 = datetime.today().date()
时差 = (现在日期 - 文件创建日期).days
print(文件名, 文件创建日期, 现在日期, 时差)
if 时差 > 1000 and "png" in 文件名 :
print(文件名, 文件创建日期, 现在日期, 时差)
# 重命名
新名字 = f"{文件创建日期}_{文件名}"
os.rename(路径 + "/" + 文件名, 路径 + "/" + 新名字)
5. 移动文件
import os
import shutil # 用于 移动等
# 移动文件
if not os.path.exists("长期不用文件") :
os.mkdir("长期不用文件")
try :
shutil.move(路径 + "/" + 新名字, "长期不用文件/")
except KeyError:
continue
except OSError:
continue
6.压缩 zip
import os
import zipfile #
path = "D:\新建文件测试\长期不用文件"
os.chdir(path)
list = os.listdir(path)
for file in list :
with zipfile.ZipFile("长期不用文件.zip", "a") as zip :
zip.write(file)
zip.close()
7. 以什么结尾 file.endswith(“exe”)
8. 取括号里面的文字
str="我爱你(不信),哈哈"
括号里的文字=str.split("(")[0].split(")")[-1]
print(括号里的文字)
我爱你
9 获取 json数据
import requests #最简单易用的HTTP库,建议爬虫使用requests
hero_list_url="https://pvp.qq.com/web201605/js/herolist.json"
# 发送get请求 获取数据
hero_list=requests.get(hero_list_url)
# 将获取json数据
hero_list_json=hero_list.json()
# 挖掘 json里面的数据
for 英雄信息 in hero_list_json: # 英雄信息 {'ename': 508, 'cname': '伽罗'...}
英雄名字=英雄信息["cname"]
英雄编号=英雄信息["ename"]
# 获取该英雄的皮肤名称列表 如何能找到skin_name 那么皮肤列表就是 否则 为[]
皮肤列表=英雄信息.get("skin_name").split("|")if 英雄信息.get("skin_name") else []
10 if else 的另一种表达方式
皮肤列表=英雄信息.get(“skin_name”).split("|")if 英雄信息.get(“skin_name”) else []
获取该英雄的皮肤名称列表 如何能找到skin_name 那么皮肤列表就是 否则 为[]
11 文件储存
import os.path
import random
import time
import requests #最简单易用的HTTP库,建议爬虫使用requests
图片路径名字=os.path.join(储存目录,f"{英雄名字}-{皮肤名字}.jpg")
with open(图片路径名字,"wb") as f:
f.write(服务器响应状态.content)
12 服务器响应状态
图片地址=f"https://game.gtimg.cn/images/yxzj/img201606/heroimg/{英雄编号}/{英雄编号}-smallskin-{图片号}.jpg"
服务器响应状态=requests.get(图片地址) #服务器响应状态 200正常 404页面未找到
13 requests.content requests.text
f.write(服务器响应状态.content) # 二进制编码的
14 文件搜索 快速收缩 pathlib 路径.rglob(".")
#1 导入 模块
from pathlib import Path
#2 导入路径
路径="d:"
#3 装载
路径=Path(路径)
#4 文件列表
文件列表=list(路径.rgolb("*.*"))
#5 遍历列表
for 文件 in 文件列表:
print(文件,文件.name)
输出 仅 文件
D:\新建文件测试\MAIN.BAK MAIN.BAK
要输出文件夹 区别是 . 和 **
文件列表=list(路径.rgolb("**"))
(glob.glob("/**/*",recursive=True)) 是带路径的 ,要只显示文件 ,还有split(".")[-1]
15 文件名的两种方式
import glob
import os
from pathlib import Path
路径=“d:\新建文件测试”
os.chdir(路径)
“”“glob.glob”""
文件列表=list(glob.glob("/**/*",recursive=True))
for 文件 in 文件列表:
# print(文件)
if “.” in 文件:
if "\\" in 文件:
# print(文件)
print(文件.split("\\")[-1]) #文件名
# print(文件.split("\\")[-1].split(".")[0]) #文件名
# 输出 LoadDrv_x64.exe
# 输出 mfc80.dll
“”“rglob”""
路径=Path(路径)
文件列表=list(路径.rglob("."))
for 文件 in 文件列表:
print(文件.name)
# 输出 LoadDrv_x64.exe
# 输出 mfc80.dll
16 文件夹是否存在
方式一
import os
if not os.path.exists("d:\aaa"):
os.mkdir("d:\aaa")
方式二
from pathlib import Path
文件夹=Path("d:\aaa")
if not 文件夹.exists():
文件夹.mldir()
17 plt.hist 直方图 显示汉字
画出直方图
plt.rcParams[“font.sans-serif”]=[“SimHei”] # 显示汉字
plt.title(“柱状图”)
plt.xlabel(“像素数”)
plt.ylabel(“亮度”)
plt.hist(柱状图.ravel(),256)
plt.show()
plt.hist() 直方图
plt.imshow() 图片
plt.show() 列表图片 plt.subplot()
两位小数
format(5.66667,".2f")
format(float(random.uniform(5,20)),".2f")
查找表格中的单元格
for i in 价格_up_list :
print(i.split(":")[0])
for cell in ws.values :
if i == cell :
print(cell[1])
print(价格_up_list[1].split(":")[1])
for in 索引和值
for 序号,名称 in enumerate(名称_list):
print(序号,名称)