当前位置: 首页 > news >正文

python搜索文件夹内类似的文件名

# coding=utf8
__author__ = 'Administrator'

import os
"""
#编写函数,计算字符串匹配的准确率
def Rate(origin,userInput):
    if not (isinstance(origin,str) and isinstance(userInput,str)):
        print('The two parameters must be strings.')
        return
    right = sum((1 for o, u in zip(origin,userInput) if o == u))
    return round(right/len(origin),2)

s1 = 'Readability counts.'
s2 = 'readability count.'
print(Rate(s1,s2))

"""

s="fdgdfd,..,/[]"
import re

def remove_special(s):
    new=""
    for i in s:
        if  re.search(u'^[\\\_.a-zA-Z0-9\u4e00-\u9fa5]+$', i):
            new+=i
    return new

remove_special(s)


def compare_str(s1,s2):
    if s1==s2:
        return False
    s1=s1.replace("1","")
    s1=s1.replace("xxx","")
    s2=s2.replace("1","")
    s2=s2.replace("xxx","")
    count=0
    for a in s1:
        if a in s2:
            count+=1
    if count>30:
        return True
    else:
        return False
# 过滤非法字符
def sql_filter(sql, max_length=20):
    dirty_stuff = ["\"", "\\", "/", "|", "&", "*", "'", "=", "-", "#", ";", "<", ">", "+", "%", "$", "(", ")", "%", "@","!"]
    for stuff in dirty_stuff:
        sql = sql.replace(stuff, "")
    return sql[:max_length]

def filter(sql):
    dirty_stuff = ["\"", "\\", "/", "|", "&", "*", "'", "=", "-", "#", ";", "<", ">", "+", "%", "$", "(", ")", "%", "@","!"]
    for stuff in dirty_stuff:
        sql = sql.replace(stuff, "")
    return sql


path1="D:\Other\OtherMovie"
file_name_list=[]
file_same_name_dict={}
count=0
for dirpath, dirnames, filenames in os.walk(path1):
    for filename in filenames:
        full_path=os.path.join(dirpath, filename)
        stat_info = os.stat(full_path)
        file_same_name_dict[filename]=full_path
        file_name_list.append(filename)
for base_name in file_name_list:
    for a in file_name_list:
        r= compare_str(base_name,a)
        if r:
            x=remove_special(base_name)
            y=remove_special(a)
            print(x+"    "+y)

"""
username = "1234567890!@#!@#!@#$%======$%|&***"
username = sql_filter(username)  # SQL注入
print(username)# 输出结果是:1234567890

import re
# username = "1234567890!@#!@#!@#$%======$%|&***"
username = "1234567890*"
username = "琅琊榜04.mp4"
username = "xxx"
# 检测到非法字符进入if

if not re.search(u'^[\\_.a-zA-Z0-9\u4e00-\u9fa5]+$', username):
    msg = u"用户名不可以包含非法字符(!,@,#,$,%...)"
    new=""
    print(msg)
    for i in username:
        if  re.search(u'^[\\\_.a-zA-Z0-9\u4e00-\u9fa5]+$', i):
            new+=i
    print(new)
"""

http://www.lryc.cn/news/120150.html

相关文章:

  • [保研/考研机试] KY3 约数的个数 清华大学复试上机题 C++实现
  • cmake扩展(2)——windows下动态设置输出文件(dll/exe)版本
  • Python-OpenCV中的图像处理-颜色空间转换
  • yolov5目标检测多线程Qt界面
  • [ubuntu]创建root权限的用户 该用户登录后自动切换为root用户
  • 大连交通大学813软件工程考研习题
  • 分布式协议与算法——Paxos算法
  • Spring中的Websocket身份验证和授权
  • 【果树农药喷洒机器人】Part7:静态PWM变量喷药实验
  • C++ 网络编程项目fastDFS分布是文件系统(一)
  • PoseiSwap 开启“Poseidon”池,治理体系或将全面开启
  • 【C/C++】重载运算符特性
  • HTML+JavaScript构建一个将C/C++定义的ANSI字符串转换为MASM32定义的DWUniCode字符串的工具
  • 24届近3年南京信息工程大学自动化考研院校分析
  • 【LeetCode】1572.矩阵对角线元素的和
  • 2023-08-08 Ubuntu 挂载U盘 fdisk -l 、sudo mount /dev/sdb1 /mnt/mydisk
  • make/makefile/cmake/nmake
  • 实用的开源应用全新开源源码Vue3+TS的前后台分离的开发平台源码开源技术社区平台
  • C++复习笔记——primer第五版
  • ElasticSearch:项目实战(2)
  • Eleastisearch5.2.2利用镜像迁移构建实例后ES非健康状态
  • sealos安装k8s
  • 经典贪吃蛇游戏 - 用 C 语言实现控制台版
  • 安灯Andon系统的应用与优势
  • 2023年的C++基础笔记
  • 综合能源系统(6)——综合能源综合评估技术
  • 华为OD机试真题 Java 实现【寻找相同子串】【2023 B卷 100分】,附详细解题思路
  • 软件外包开发的桌面客户端开发
  • PAT(Advanced Level) Practice(with python)——1058 A+B in Hogwarts
  • 【ES】笔记-ES6的函数rest参数用法