![見出し画像](https://assets.st-note.com/production/uploads/images/60856049/rectangle_large_type_2_7ddb81777db56f65ab2cd44a7266219e.png?width=800)
Aviutlから自動でIDをまとめるツール作った
https://www.nicovideo.jp/watch/sm39311860 ← これ
・ソースコード : Tool.py
import re
import os
import sys
from pathlib import Path
path_current_dir = os.path.dirname(sys.argv[0])
path = Path(sys.argv[0]).parent # exeのあるディレクトリ
print(str(path.resolve()) + "\\") # 絶対パスを表示
path_name = str()
while(True):
print("FileName:",end='')
fileName = input()
path_name = str(path) + '\\' + fileName
if os.path.exists(path_name):
if os.path.isfile(path_name):
break
else:
print("ファイルではありません。")
else:
print("ファイルが存在しません。")
data = None
with open(path_name, 'r') as f:
data = f.read()
pattern_nc = re.compile(r"nc\d+")
pattern_sm = re.compile(r"sm\d+")
pattern_im = re.compile(r"im\d+")
result_nc = pattern_nc.findall(data)
result_sm = pattern_sm.findall(data)
result_im = pattern_im.findall(data)
# 重複削除
r_nc_set = list(set(result_nc))
r_sm_set = list(set(result_sm))
r_im_set = list(set(result_im))
print(r_nc_set)
print(r_sm_set)
print(r_im_set)
# 数字だけ取り出すやつ
r_nc_sort = []
r_sm_sort = []
r_im_sort = []
for i in r_nc_set:
r_nc_sort.append(int(re.sub(r"\D", "",i)))
for i in r_sm_set:
r_sm_sort.append(int(re.sub(r"\D", "",i)))
for i in r_im_set:
r_im_sort.append(int(re.sub(r"\D", "",i)))
r_nc_sort.sort()
r_sm_sort.sort()
r_im_sort.sort()
# 書き込み
with open(str(path.resolve()) + "\\result.txt", mode='w') as f:
tmp = str()
for i in r_nc_sort:
tmp = tmp + "nc"+ str(i) +" "
tmp = tmp.strip()
f.write(tmp + '\n')
tmp = str()
for i in r_sm_sort:
tmp = tmp + "sm"+ str(i) +" "
tmp = tmp.strip()
f.write(tmp + '\n')
tmp=str()
for i in r_im_sort:
tmp = tmp + "im"+ str(i) +" "
tmp = tmp.strip()
f.write(tmp)
print("result.txt に出力しました。")
input()
・Tool.py を pyinstaller で exe化したもの
【注意】このツールを使用して万が一損害が発生した場合であっても、このツールの作成者は一切の責任を負いません。対応も出来かねます。
・つかいかた
① Tool.exeと同じディレクトリに.exoファイルを入れます。(.aupファイルは動かなかったので気が向いたら直します)
② Tool.exeを起動します。
③ ファイル名を入力します。
④ result.txtが出力されます。
・おまけ