Home > Tags > Directory

Directory

Rで統計: 作業ディレクトリの設定と確認 - setwd()、getwd()関数

プログラムからテキストやCSVファイル等を読み込む為にファイルパスの指定する際、ファイル名のみで読み込むホームディレクトリのことを作業ディレクトリといい、その設定方法は以下の2種類あります。

RGuiを使用している場合は、[ファイル]→[ディレクトリの変更]から任意のディレクトリを選択。

コマンドで変更する場合はプロンプトで、

> setwd("D:/rtmp")

の様に、setwd()関数の引数にディレクトリのパスを代入することで指定します。

また、作業ディレクトリを確認する関数はgetwd()です。

> getwd()
[1] "D:/rtmp"

getwd は get work directoryの略かな。

あと、Windowsの場合は作業ディレクトリ設定を恒久的に保存する方法のひとつに、Rgui.exeのショートカットのプロパティの作業フォルダにパスを設定する方法があります。

Python: 指定したパスのディレクトリ中のファイル一覧を出力

あるディレクトリから特定のファイルを検索したい場合、探索対象ディレクトリ内のファイルを全て取得する必要があります。今回は、引数にディレクトリを指すパスを指定することによって、そのディレクトリの内容を取得する関数を2つ示します。

ソースコード

# coding: Shift_JIS

import os # osモジュールのインポート

# os.listdir('パス')
# 指定したパス内の全てのファイルとディレクトリを要素とするリストを返す
files = os.listdir('C:\Python25\')

for file in files:
    print file

実行結果の一例

DLLs
Doc
include
Lib
libs
LICENSE.txt
lxml-wininst.log
NEWS.txt
PIL-wininst.log
pysqlite-wininst.log
pysqlite2-doc
python.exe
pythonw.exe
README.txt
Removelxml.exe
RemovePIL.exe
Removepysqlite.exe
Scripts
tcl
Tools
w9xpopen.exe

ワイルドカードでリスティング対象を指定

globモジュールのglob()関数の引数内にワイルドカード「*」を含めることが出来ます。これによって、より手軽に目的のファイルを探索することが出来ます。

ソースコード

# coding: Shift_JIS

import glob

# パス内の全ての"指定パス+ファイル名"と"指定パス+ディレクトリ名"を要素とするリストを返す
files = glob.glob('C:\Python25\*.*') # ワイルドカードが使用可能

for file in files:
    print file

os.listdir()と異なり、glob.glob()は取得したファイル文字列には先頭に探査ディレクトリ(引数)のパスが付いています。

実行結果の一例


C:Python25LICENSE.txt
C:Python25lxml-wininst.log
C:Python25NEWS.txt
C:Python25PIL-wininst.log
C:Python25pysqlite-wininst.log
C:Python25python.exe
C:Python25pythonw.exe
C:Python25README.txt
C:Python25Removelxml.exe
C:Python25RemovePIL.exe
C:Python25Removepysqlite.exe
C:Python25w9xpopen.exe

リファレンス

Home > Tags > Directory

バックナンバー
最近のコメント
最近のトラックバック
メタ情報

Return to page top