常用python工具类代码总结

列表类别
1for 循环语句,打印数字1~10基础
2如何创建文价夹基础
3判断文件是否存在工具
4打开网页基础
5文件夹分类工具
6批量修改文件后缀工具
7批量增加水印工具
8排序基础

1.循环语句,打印数字1~10

for i in range(0,10):
    print(i)

2.创建文件夹

import os
os.makedirs('tmp1/04',exist_ok=True)

        备注:tmp1/04 将文件夹建立在当前程序.py文件路径之下

3.判断问价夹中某文件是否存在

path = 'D:/Users/xuyf2/Desktop/project_all/11_practice/python_base'
# os.path.basename(path)
print(os.path.dirname(path))
if (os.path.exists('tmp/02/copy.txt')) == True:
    print('存在')
else:
    print('不存在')
#直接判断是,输出结果为布尔值,案例如下
# print(os.path.exists('tmp/02/11.txt'))

4.打开网页

# 打开网页
import webbrowser
webbrowser.open('http://www.byhy.net/')

5.文件夹分类工具

#-------------------------文件分类工具(根据名称任意符)------------------------------

import os
import shutil

src_dir_path = 'E:/aeg-paddle/jier_photos/SOCO6045/OK'     # 源文件夹
to_dir_path = 'E:/aeg-paddle/jier_photos/SOCO6045/B16'     # 存放复制文件的文件夹
key = '_B16_'                                              # 源文件夹中的文件包含字符key则复制到to_dir_path文件夹中

if not os.path.exists(to_dir_path):
    print("to_dir_path not exist,so create the dir")
    os.mkdir(to_dir_path, 1)
if os.path.exists(src_dir_path):
    print("src_dir_path exist")
    for file in os.listdir(src_dir_path):
        # is file
        if os.path.isfile(src_dir_path + '/' + file):
            if key in file:
                print('找到包含"' + key + '"字符的文件,绝对路径为----->' + src_dir_path + '/' + file)
                print('移动到----->' + to_dir_path + file)
                shutil.move(src_dir_path + '/' + file, to_dir_path + '/' + file)  # 移动用move函数

6.批量修改文件后缀工具

#-------------------------批量修改一个文件下的文件后缀----------------------------------
import sys
import os
def Rename():
    Path = "D:/Users/xuyf2/Desktop/jier/left/2010"     # windows下的文件目录
    filelist = os.listdir(Path)                        # 列出当前目录下的所有文件

    for files in filelist:
        Olddir = os.path.join(Path,files)
        print(files)                                   # 打印出文件夹里的目录和文件
        if os.path.isdir(Olddir):                      # 判断是否是文件,是文件,跳过
            continue
        filename = os.path.splitext(files)[0]
        #filetype = os.path.splitext(files)[1]
        Newdir = os.path.join(Path,filename + '.jpg')  # 重新组合文件名和后缀名,只需更改jpg即可
        os.rename(Olddir,Newdir)
Rename()                                               # 执行函数,替换原文件中所有后缀

7.批量增加水印

#-------------------------------批量图片增加水印------------------------------------
from PIL import Image, ImageDraw, ImageFont
import os

def img(imgfile,font,imgfile_new):
    lider = os.listdir(imgfile)
    #遍历文件夹获取文件名
    for img1 in lider:
        path = os.path.join(imgfile, img1)

        # 路径拼接
        img = Image.open(path)
        draw = ImageDraw.Draw(img)                                # 添加文字
        font = ImageFont.truetype("msyh.ttc", 15)                 # 指定字体文件为 微软雅黑

        #----------------------------根据需求添加一行或多行---------------------------------------------
        draw.text((0,0),('poweramp'),(0,0,0),font=font)           # 添加文字
        draw.text((10,30), ('工程部'), fill='#0000ff', font=font)

        # qrcode = Image.open('3.jpg')                            # 添加图片
        # img.paste(qrcode, (313, 46))
        # ------------------------------------------------------------------------------------------

        img2 = img1[:-4] + "_1"+'.png'                            # 区份文件,后面加-1
        path1 = os.path.join(imgfile_new,img2)
        img.save(path1)

if __name__ == '__main__':
    imgfile = "D:/Users/xuyf2/Desktop/jier/left/2010"             # 原始图片存放位置
    font = ImageFont.truetype("bahnschrift.ttf", 50)              # 字体,大小
    imgfile_new = 'D:/Users/xuyf2/Desktop/jier/left/1'            # 新图片存放位置
    img(imgfile,font,imgfile_new)

8.排序

coordinate = [[54, 27], [26, 100], [114, 27], [15, 101],[75, 101]]
res0 = sorted({tuple(x): x for x in coordinate}.values(), reverse=False)
print('按第一个数字升序排列:', res0)
res1 = sorted({tuple(x): x for x in coordinate}.values(), reverse=True)
print('按第一个数字降序排列:', res1)
  • 函数解读:sorted(iterable, cmp=None, key=None, reverse=False)
    ① iterable:可迭代对象
    ② cmp:比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0
    ③ key:主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序
    ④:reverse:排序规则reverse = True 降序 reverse = False 升序(默认)

持续更新中......

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凡先生的笔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值