1+ import os
12import pykakasi
23import re
34from mutagen .flac import FLAC
@@ -476,36 +477,50 @@ def main(in_path):
476477 print (" error:读取异常" )
477478
478479
479- def from_file ():
480- global seq
481- initial_dir , seq = load_last_folder ()
482- file_paths = filedialog .askopenfilenames (initialdir = initial_dir )
483- save_last_folder (path .split (file_paths [0 ])[0 ])
484- for _i , file_path in enumerate (file_paths ):
480+ def dir_to_files (_dir ):
481+ file_path = []
482+ for _root , _ds , _fs in enumerate (os .walk (_dir )):
483+ for _f in _fs :
484+ file_path = [path .join (_root , _f )]
485+ return file_path
486+
487+
488+ def proc (_file_list ):
489+ for _i , file_path in enumerate (_file_list ):
485490 print ("-------------------------------------------" )
486491 print (f"开始处理[{ _i } ]:" + file_path )
487492 main (file_path )
488493 print ("===========================================" )
489494
490495
496+ def from_file ():
497+ global seq
498+ initial_dir , seq = load_last_folder ()
499+ file_paths = filedialog .askopenfilenames (initialdir = initial_dir )
500+ save_last_folder (path .split (file_paths [0 ])[0 ], seq )
501+
502+ file_list = []
503+ for _path in file_paths :
504+ if os .path .isdir (_path ):
505+ file_list += dir_to_files (_path )
506+ else :
507+ file_list += [_path ]
508+ proc (file_list )
509+
510+
491511def from_folder ():
492512 global seq
493513 initial_dir , seq = load_last_folder ()
494514 folder_path = filedialog .askdirectory (initialdir = initial_dir )
495515 save_last_folder (folder_path , seq )
496- for _i , name in enumerate (listdir (folder_path )):
497- in_path = path .join (folder_path , name )
498- print ("-------------------------------------------" )
499- print (f"开始处理[{ _i } ]:" + in_path )
500- main (in_path )
501- print ("===========================================" )
516+ proc (dir_to_files (folder_path ))
502517
503518
504519if __name__ == "__main__" :
505520 print ("============欢迎使用日语音乐歌词注音工具============" )
506521 print ("======使用前请做好数据备份,本工具不能替代人工检查=====" )
507522 print ("作者B站: 绘星痕" )
508- print ("项目地址:https ://github.com/Kin-L" )
523+ print ("项目地址:\n https ://github.com/Kin-L/JLTool \n https://gitee.com/huixinghen/JLTool " )
509524 if len (sys .argv ) > 1 :
510525 print ("Tips:默认设置歌词顺序为 中文-假名-日语 \n "
511526 "如需更改请在config.json文件中修改\n "
@@ -515,22 +530,13 @@ def from_folder():
515530 "kanji | 日语\n "
516531 "roma | 罗马音" ) # "chin-hira-kanji"
517532 seq = load_last_folder ()[1 ]
518- num = 0
533+ file_list = []
519534 for cm in sys .argv [1 :]:
520-
521- if path .isdir (cm ):
522- for name in listdir (cm ):
523- in_path = path .join (cm , name )
524- print ("-------------------------------------------" )
525- print (f"开始处理[{ num } ]:" + in_path )
526- main (in_path )
527- num += 1
535+ if os .path .isdir (cm ):
536+ file_list += dir_to_files (cm )
528537 else :
529- print ("-------------------------------------------" )
530- print (f"开始处理[{ num } ]:" + cm )
531- main (cm )
532- num += 1
533- print ("===========================================" )
538+ file_list += [cm ]
539+ proc (file_list )
534540 input ("敲击回车结束并关闭窗口" )
535541 else :
536542 print ("============本窗口显示处理信息,请勿关闭============" )
0 commit comments