分析了bat檔案,無奈功力太淺,不知如何調整。
但通過bat檔案得出其是用ffmpeg進行轉碼的,於是編寫了python3指令碼,實現了拖放式的轉碼。
轉碼生成的mp4檔案與對應的kux檔案在相同的路徑下。
在python3.7.3執行,暫時沒有發現問題。
**如下
import os
import sys
import pathlib
ffmpeg = pathlib.purepath('nplayer').joinpath('ffmpeg.exe')
def enum_files(path):
'''enum all files in given path, including sub-folders.
'''#print('enum', path)
all_files =
path_name = pathlib.path(path)
files = os.listdir(path_name)
for file in files:
file = path_name.joinpath(file)
if os.path.isdir(file):
#print('dir :', file)
all_files += enum_files(file)
else:
#print('file:', file)
files = [str(name) for name in all_files]
return files
def filter_kux(files):
'''filter .kux files from given.
'''kux_files =
for kux_file_name in files:
if len(kux_file_name) < 5:
#print('unrecognized file :', kux_file_name)
pass
elif kux_file_name[-4:].lower() == '.kux':
else:
#print('not a .kux file :', kux_file_name)
pass
return kux_files
def tran(kux_file_name):
'''tran a .kux file to a .mp4 one.
'''kux = kux_file_name
mp4 = kux_file_name[:-4] + '.mp4'
kux = '"' + kux + '"'
mp4 = '"' + mp4 + '"'
command = str(ffmpeg) + ' -y -i ' + kux + ' ' + mp4
print('\n', command)
os.system(command)
return
def tran_multi(kux_files):
'''tran multi .kux files to corresponding .mp4 ones.
'''for file in kux_files:
tran(file)
return
def enum_ar**(files):
'''enum all files in given file or path by 'files'.
'''all_files =
for file in files:
if os.path.isdir(file):
all_files += enum_files(os.path.abspath(file))
else:
return all_files
def process(files):
'''translate all .kux files in files to .mp4 files.
if files contains folders, try to find .kux files recursively.
'''all_files = enum_ar**(files)
print('共拖放了 ', len(all_files), ' 個檔案.')
kux_files = filter_kux(all_files)
print('其中包含 ', len(kux_files), '個 .kux 檔案.')
tran_multi(kux_files)
return
if __name__ == '__main__':
if len(sys.ar**) == 1:
print("將需要轉換的 .kux 檔案拖放到 kux2mp4.py 檔案圖示上釋放。")
else:
process(sys.ar**[1:])
print("\n****** 轉換結束 ******\n")
input('按"回車"退出本程式...')
轉碼工具如下
提取碼 3uwa
侵刪。
python3中url中文轉ascii碼的介紹
import urllib.request import urllib.parse import string def get params url 把中文字元轉成ascii碼,使用urllib.parse.urlencode,引數使用字典格式,自動轉化 params result urllib.p...
Python3 公曆轉農曆
user bin env python3 coding utf 8 import sxtwl lunar sxtwl.lunar 例項化日曆庫 print lunar ymc u 十一 u 十二 u 正 u 二 u 三 u 四 u 五 u 六 u 七 u 八 u 九 u 十 rmc u 初一 u 初...
python3遞迴(學習轉)
學習了一下python3 的遞迴,這個東西還真是討厭,而且不迷有那麼多毛病。但不迷是要學會。下面是一些遞迴的關鍵部分,總結一下。遞迴,就是函式在執行的過程中呼叫自己。遞迴幾個特點 1.必須有乙個明確的結束條件,要不就會變成死迴圈了,最終撐爆系統 2.每次進入更深一層遞迴時,問題規模相比上次遞迴都應有...