Index > Bash での処理を代わりにpythonで行うときの記述方法あれこれ
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")
 Twitter
follow me on Twitter
 Categories