python:urlエンコードファイルをutf-8のファイル名に変更する

URLエンコードファイル名をUTF-8のファイル名に変更する

Windowsではフリーソフトあるようです(https://okwave.jp/qa/q7813603.html).ただコマンドで一括でやりたいみたいな場合, ちょっと探しても情報が見つからなかったんで,pythonで作ってみることにしました.もともとdokuwikiのシステムをurlからutf8に変更する際に すでに作成してしまったページやファイル名がURLエンコード形式のまま残ってしまうので,それを一括で変換したかったのがモチベーションです.

python3の場合は urllib.parse っていうのを使えば簡単に(一行で)変換できるんで,コマンドラインから受け取ったファイル名を 一括でUTF-8エンコードのファイル名に変更するようにしました.以下スクリプトです.

urlDecode.py
# coding: utf-8
import os
import sys 
import urllib.parse
 
args = sys.argv[1:]
for f in args:    
    f_renamed = (urllib.parse.unquote(f,encoding='utf-8'))
    print(f+' -> '+f_renamed)
    os.rename(f, f_renamed)
  • python/urlエンコードファイルをutf-8のファイル名に変更する.txt
  • 最終更新: 2019/11/28 12:51
  • by baba