1 Star 2 Fork 2

BlackTrigger / AV_Data_Capture

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
number_parser.py 1.81 KB
一键复制 编辑 原始数据 按行查看 历史
68cdrBxM8YdoJ 提交于 2020-04-25 14:52 . Fix get_number func
import os
import re
def get_number(filepath: str) -> str:
"""
>>> from number_parser import get_number
>>> get_number("/Users/Guest/AV_Data_Capture/snis-829.mp4")
'snis-829'
>>> get_number("/Users/Guest/AV_Data_Capture/snis-829-C.mp4")
'snis-829'
>>> get_number("C:¥Users¥Guest¥snis-829.mp4")
'snis-829'
>>> get_number("C:¥Users¥Guest¥snis-829-C.mp4")
'snis-829'
>>> get_number("./snis-829.mp4")
'snis-829'
>>> get_number("./snis-829-C.mp4")
'snis-829'
>>> get_number(".¥snis-829.mp4")
'snis-829'
>>> get_number(".¥snis-829-C.mp4")
'snis-829'
>>> get_number("snis-829.mp4")
'snis-829'
>>> get_number("snis-829-C.mp4")
'snis-829'
"""
filepath = os.path.basename(filepath)
if '-' in filepath or '_' in filepath: # 普通提取番号 主要处理包含减号-和_的番号
filepath = filepath.replace("_", "-")
filepath.strip('22-sht.me').strip('-HD').strip('-hd')
filename = str(re.sub("\[\d{4}-\d{1,2}-\d{1,2}\] - ", "", filepath)) # 去除文件名中时间
if 'FC2' or 'fc2' in filename:
filename = filename.replace('-PPV', '').replace('PPV-', '').replace('FC2PPV-', 'FC2-').replace('FC2PPV_', 'FC2-')
filename = filename.replace('-ppv', '').replace('ppv-', '').replace('fc2ppv-', 'FC2-').replace('fc2ppv_', 'FC2-')
file_number = re.search(r'\w+-\w+', filename, re.A).group()
return file_number
else: # 提取不含减号-的番号,FANZA CID
try:
return str(re.findall(r'(.+?)\.', str(re.search('([^<>/\\\\|:""\\*\\?]+)\\.\\w+$', filepath).group()))).strip("['']").replace('_', '-')
except:
return re.search(r'(.+?)\.', filepath)[0]
if __name__ == "__main__":
import doctest
doctest.testmod(raise_on_error=True)
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/soulbeanrie/AV_Data_Capture.git
git@gitee.com:soulbeanrie/AV_Data_Capture.git
soulbeanrie
AV_Data_Capture
AV_Data_Capture
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891