一括変換cueファイル符号化
6391 ワード
以前、ネット上でダウンロードした無損(flac、ape)の多くはディスク全体で、つまり1つのflacまたはapeファイルにcueレールファイルを組み合わせて、このファイルは異なる時間帯にどの曲があるかを記録しています.
これまでの操作はwindowsで行われていたため、linuxで開くと符号化の問題が発生します.ここでは簡単にスクリプトを書き、cueファイル符号化を一括変換します(srt字幕ファイルの変換にも適用されます).
pythonで書きました.bashではスペースの問題がうまく処理されません(ファイル名にスペースが表示されると、このパスがいくつかの部分に区切られます)
ここではencaという変換符号化のツール(直接zshrcの中でalias enca=「enca-L zh_CN-x utf-8」を使って、使いやすい点)
これにより、サブディレクトリの下にあるすべてのcueファイルの符号化をUTF-8に簡単に変換し、簡単な変更で他のファイルにサポートします.
upgrade:
ファイル名にカッコ:()、英語が含まれている場合は、コマンドを実行できません.解決方法:
1.カッコを'./123"(1)".cue'
2.カッコの前にu 94を付けます.例えば「./123 u 94(1).cue」
u 94をshellに直接伝達するため,2つの方法をそれぞれ実験したが,2つ目の方法は通過できなかった.
改良されたコード:
これまでの操作はwindowsで行われていたため、linuxで開くと符号化の問題が発生します.ここでは簡単にスクリプトを書き、cueファイル符号化を一括変換します(srt字幕ファイルの変換にも適用されます).
pythonで書きました.bashではスペースの問題がうまく処理されません(ファイル名にスペースが表示されると、このパスがいくつかの部分に区切られます)
ここではencaという変換符号化のツール(直接zshrcの中でalias enca=「enca-L zh_CN-x utf-8」を使って、使いやすい点)
1 #!env python2
2 #coding:utf-8
3 import os
4
5 temp = ""
6 filelist = os.popen("find . -name '*.cue'").readlines()
7 for file in filelist:
8 for ch in file:
9 if ch == " ":
10 temp += "\ "
11 else:
12 temp += ch
13
14
15 for file in temp.split("
"):
16 print file
17 os.system("enca -L zh_CN -x UTF-8 " + file)
これにより、サブディレクトリの下にあるすべてのcueファイルの符号化をUTF-8に簡単に変換し、簡単な変更で他のファイルにサポートします.
upgrade:
ファイル名にカッコ:()、英語が含まれている場合は、コマンドを実行できません.解決方法:
1.カッコを'./123"(1)".cue'
2.カッコの前にu 94を付けます.例えば「./123 u 94(1).cue」
u 94をshellに直接伝達するため,2つの方法をそれぞれ実験したが,2つ目の方法は通過できなかった.
改良されたコード:
1 #!env python2
2 #coding:utf-8
3 import os
4
5 temp = ""
6 filelist = os.popen("find . -name '*.cue'").readlines()
7 for file in filelist:
8 for ch in file:
9 if ch == " ":
10 temp += "\ "
11 elif ch == "(":
12 temp += '"("'
13 elif ch == ")":
14 temp += '")"'
15 else:
16 temp += ch
17
18 for file in temp.split("
"):
19 os.system("enca -L zh_CN -x UTF-8 " + file)