python判断全角半角和特殊字符
·
python判断全角半角和特殊字符
import os
import re
class CustomError(Exception):
def __init__(self, ErrorInfo):
super().__init__(self)
self.errorinfo = ErrorInfo
def __str__(self):
return self.errorinfo
def check_file_name(files_name):
check_string_isfullwidth(files_name)
def check_string_isfullwidth(files_name):
for char in files_name:
try:
check_char_isfullwidth(char)
except CustomError as e:
raise CustomError('※※※ファイル名※※※【' + files_name+ '】' +e.errorinfo)
# 检查字符是否为全角
def check_char_isfullwidth(uchar):
inside_code = ord(uchar)
jap = re.compile(r'[\u3040-\u309F\u30A0-\u30FF\u4e00-\u9fa5]')
jap1 = re.compile(r'[\\/:{};,$@&*?"<>|%\#]+')
jap2 = re.compile(r'[\u0020]+')
# 全角空格
if inside_code == 12288:
raise CustomError('全角スペースが含まれている')
# 全角字符(除空格)根据关系转化
elif 65281 <= inside_code <= 65374:
raise CustomError('全角キャラクタが含まれている:'+uchar)
# 日文有
elif jap.search(uchar):
raise CustomError('日本語が含まれている:'+uchar)
elif jap1.search(uchar):
raise CustomError('特別なキャラクタが含まれている:'+uchar)
elif jap2.search(uchar):
raise CustomError('半角スペースが含まれている:'+uchar)
return uchar
base_dir = os.getcwd() # 当前目录
ff = []
for path, direction, files in os.walk(base_dir):
for file in files:
ff.append(os.path.join(path, file))
fd = [f.split('\\')[-1] for f in ff]
print('すべてのファイル:', fd);
print('========================');
print('ファイル名不正一覧');
print('========================');
for i in fd:
try:
check_file_name(i)
except CustomError as e:
print(e)
print('========================');
input('Press Enter to exit…')
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)