Sun, March 5, 2006
Bash での処理を代わりにpythonで行うときの記述方法あれこれ
bashは原始的すぎるので、bashにスクリプトを書きたくなるようなケースで、
代わりにpythonを使うことを決意。
その場合に、いつもbashで記述しているような処理をpythonでどのように書くのか、
の記録。
カレントディレクトリのテキスト(*.txt)ファイルだけをリストアップする
import os
filelist=os.listdir(".")
for file in filelist:
if file.endswith(".txt"):
print file
テキストファイル(.txt)の拡張子をHTML(.html)に変えたい
bashの場合、コーディング量は少ないのだが、何度書いても記述方法を覚えられない。
textfile="foo.txt"
htmlfile=${textfile%.*}.html
echo ${htmlfile}
pythonの場合、正規表現がさくっと使える。わかりやすい。
import re
textfile="foo.txt"
pattern=re.compile("\.txt$")
print pattern.sub(".html",textfile)
ファイルのタイムスタンプの取得
Javaで言えば new File("foo.txt").lastModified() の値を如何に得るか、と言う問題。
from stat import *
def lastModified(filename):
return os.stat(filename)[ST_MTIME]
print lastModified("foo.txt")