電子書籍の厳選無料作品が豊富!

windowsでファイル名に使えない文字などをまとめて別の文字に置換したいのですが、こんなコードしか思いつきません。もっと便利な関数や方法は無いものでしょうか?

def filechikan(x):
if x.count(u"<"):x.replece(u"<","(")
if x.count(u">"):x.replece(u">",")")
if x.count(u"/"):x.replece(u"/","!")
if x.count(u"|"):x.replece(u"|","!")
if x.count(u"\\"):x.replece(u"\\","!")
if x.count(u"\""):x.replece(u"\"","`")
if x.count(u"?"):x.replece(u"?","!")
........................
return x

よろしくお願いします。

A 回答 (1件)

文字列操作なのだから、stringやreのマニュアルを一通り眺めてみましょう。



import string
して
http://www.python.jp/doc/2.6/library/string.html …
でテーブルを用意して
http://www.python.jp/doc/2.6/library/string.html …

table=string.maketrans('<>/|\\"?',"()!!!`!")
x=string.translate(x, table)


もともと違うものが同じファイル名になるとか、大文字小文字の区別が無いとかまで考慮すると、URLエンコードとかも検討するといいでしょう。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!