Ad

Pythonではファイルやディレクトリの存在チェックや削除など、主なファイル操作が一通りできるようになっています。

ただ、ファイル操作が中心ならshellを使った方が簡単なことが多いので、無理になにもかもPythonを使うより組み合わせたりするのがおすすめです。

Page Top

ファイルとディレクトリを区別しない存在チェック anchor.png Edit

ファイルまたはディレクトリを区別しない存在チェックには「os.path.exists」を使います。 ファイル、ディレクトリ(フォルダ)どちらにも適用できて、相対パス、絶対パスどちらでも可能です。

import os
if os.path.exists("../"):
    print "exist!"
else:
    print "not exist"

結果

exist!

「../」は自分自身の実行されているディレクトリを指すので、必ず存在します。このようにファイルやディレクトリが存在すると、真を返します。

Page Top

ファイルとディレクトリを区別する存在チェック anchor.png Edit

存在してかつファイルかどうかまで判定するには「os.path.isfile」、ディレクトリかどうかは「os.path.isdir」を使います。

使い方は「os.path.exists」と全く同じです。

if os.path.isdir("../"):
    print "dir!"
else:
    print "not dir"


if os.path.isfile("../"):
    print "file!"
else:
    print "not file"

結果

dir!
not file
Page Top

ディレクトリの作成 anchor.png Edit

ディレクトリを作成するには「os.mkdir」を使います。

import os

os.mkdir("test_dir")

すでに存在するとエラーになるので、たいてい前節のディレクトリの存在チェックとあわせて使うことになります。

Page Top

ディレクトリの削除 anchor.png Edit

ディレクトリが空なら「os.rmdir」を使います。

os.rmdir("test_dir")

空では無く、中身も一緒に消したいときは「shutil.rmtree」を使います。

import shutil
shutil.rmtree("test_dir")
Page Top

ファイルの削除 anchor.png Edit

ファイルを削除するには「os.remove」を使います。

os.remove("test.txt")
Page Top

ファイルの移動 anchor.png Edit

ファイルを移動するには「shutil.move」を使います。

shutil.move("test1.txt","test2.txt")
Page Top

ファイル、ディレクトリの名前の変更 anchor.png Edit

ファイルなどの名前変更は「os.rename」を使います。

os.rename("test1.txt","test2.txt")
Page Top

ファイル一覧の取得 anchor.png Edit

指定したディレクトリの中のファイル一覧を取得するには、「os.listdir」を使います。

files = os.listdir('./')
 
for f in files:
    print f

ワイルドカードを使うには「glob.glob」を使います。

import glob
files = glob.glob('./*.py') 

for f in files:
    print f

Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 910, today: 1, yesterday: 0
Princeps date: 2016-12-29 (Thu) 06:53:58
Last-modified: 2016-12-30 (Fri) 04:19:29 (JST) (1021d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF