#!/usr/bin/env python f = open('test.txt') line = f.readline() # 1行を文字列として読み込む(改行文字も含まれる) while line: print line line = f.readline() f.close
#!/usr/bin/env python f = open('test.txt') data = f.read() # ファイル終端まで全て読んだデータを返す f.close() lines = data.split('\n') # 改行で区切る(改行文字そのものは戻り値のデータには含まれない) for line in lines: print line
ファイルの存在は パス名を引数としてos.path.isfile関数を使う。 下に使用例を示す。
# -*- coding: shift_jis -*- import os if __name__ == '__main__': path = "c:\\gis\\test.cs" if os.path.isfile(path): print path + "は存在します" else: print path + "は存在しません"
ディレクトリの存在チェックは os.path.isdir関数を使う。ディレクトリは os.mkdir関数を使う。
if not os.path.isdir(dir01): os.mkdir(dir01)
ファイル情報(更新時刻、サイズなど)を得るには os モジュールの stat を使用する。
プログラム例 file02.py を下に示す。
# -*- coding: shift_jis -*- import os, datetime if __name__ == '__main__': stat = os.stat("c:\\mh\\www\\python\\src\\file02.py") dt = datetime.datetime.fromtimestamp(stat.st_mtime) print "更新日時: ", dt print "サイズ: ", stat.st_size
実行結果を以下に示す。
c:\sys>python \mh\www\python\src\file02.py 更新日時: 2016-05-19 09:50:28.902565 サイズ: 252
osモジュールのrenameメソッドを利用すると、ファイル名、ディレクトリ名を変更できる。 構文は、以下の通り。
os.rename(oldname, newname)
ファイルの削除は osモジュールの removeメソッド、 ディレクトリの削除は osモジュールの rmdirメソッドを使用する。
os.remove(path2) os.rmdir(path2)
ファイルの内容を比較するには filecmp モジュールの cmp 関数を使う。 内容が一致すれば True、そうでなければ False を返す。
filecmp.cmp(file1,file2)