ディレクトリ作成には os モジュールの mkdir() を使う
# -*- coding: utf-8 -*- # ディレクトリ作成 import os import os.path target = "test" if os.path.exists("./" + target) == True: print "%s has already existed." % (target) else: os.mkdir(target)
実行結果
$ ls mkdir.py rmdir.py $ python mkdir.py $ python mkdir.py test has already existed. $ ls mkdir.py rmdir.py test
ディレクトリ削除
ディレクトリ削除には os モジュールの rmdir() を使う
# -*- coding: utf-8 -*- # ディレクトリ削除 import os target = "test" if os.path.exists("./" + target) == True: os.rmdir("test") else: print "%s does not exist." % (target)
実行結果
$ ls mkdir.py rmdir.py test $ python rmdir.py $ python rmdir.py test does not exist. $ ls mkdir.py rmdir.py
ディレクトリ内のファイル走査
- os.path.walk
Current directory の中身を走査して jpg ファイルを選び出す# -*- coding: utf-8 -*- import os import re def callback(arg, dirname, filenames): print "dirname: ", dirname for file in filenames: print file if re.search("jpg$", file): print "---> This file is JPEG" arglist = [] os.path.walk('./', callback, arglist)
実行結果> python dir.py dirname: ./ aaa.txt bbb.txt ccc.jpg ---> This file is JPEG dir.py
- os.walk
Python 2.3 以降では os.path.walk ではなく os.walk を使う# -*- coding: utf-8 -*- import os top = '.' print "--- os.walk(top) ---" for root, dirs, files in os.walk(top): for name in files: print "File: %s" % (name) for name in dirs: print "Dir: %s" % (name) # リストの並び順が変わる print "--- os.walk(top, topdown=False) ---" for root, dirs, files in os.walk(top, topdown=False): for name in files: print "File: %s" % (name) for name in dirs: print "Dir: %s" % (name)
実行結果> python dir2.py --- Recursive os.walk(top) --- File: aaa.txt File: bbb.txt File: ccc.jpg File: dir.py File: dir2.py Dir: test File: aaa.txt --- Non-recursive os.walk(top, topdown=False) --- File: aaa.txt File: aaa.txt File: bbb.txt File: ccc.jpg File: dir.py File: dir2.py Dir: test
- os.listdir
# -*- coding: utf-8 -*- import os top = '.' # 指定した path に含まれる要素のリストを作成する ls = os.listdir(top) print ls for name in ls: print name
出力結果> python list.py ['aaa.txt', 'bbb.txt', 'ccc.jpg', 'dir.py', 'dir2.py', 'list.py', 'test'] aaa.txt bbb.txt ccc.jpg dir.py dir2.py list.py test
0 件のコメント:
コメントを投稿