見出し画像

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が出力されます。


・おまけ

画像1