python判断全角半角和特殊字符
import os
import reclass CustomError(Exception):def __init__(self, ErrorInfo):super().__init__(self)self.errorinfo = ErrorInfodef __str__(self):return self.errorinfodef 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 ucharbase_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…')
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!