Python-ディレクトリリスト

Pythonを使用して、ディレクトリからコンテンツのリストを取得できます。Pythonが実行されているのと同じマシンにあるディレクトリの内容を一覧表示するプログラムを作成できます。リモートシステムにログインして、リモートディレクトリからコンテンツを一覧表示することもできます。

ローカルディレクトリの一覧表示

以下の例では、listdir()メソッドを使用して、現在のディレクトリのコンテンツを取得します。ファイルやディレクトリなどのコンテンツのタイプも示すために、より多くの関数を使用してコンテンツの性質を評価します。

for  name in os.listdir('.'):
    if os.path.isfile(name): print 'file: ', name
    elif os.path.isdir(name): print 'dir: ', name
    elif os.path.islink(name): print 'link: ', name
    else: print 'unknown', name

上記のプログラムを実行すると、次の出力が得られます-

file: abcl.htm
dir: allbooks
link: ulink

上記の内容は、Pythonプログラムが実行されたシステムに固有のものであることに注意してください。結果は、システムとそのコンテンツによって異なります。

リモートディレクトリの一覧表示

ftpを使用してリモートシステムにアクセスすることにより、リモートディレクトリの内容を一覧表示できます。接続が確立されると、ローカルディレクトリの一覧表示と同様の方法でディレクトリの内容を一覧表示するコマンドを使用できます。

from ftplib import FTP
def main():
    ftp = FTP('ftp.ibiblio.org')
    ftp.login()
    ftp.cwd('pub/academic/biology/') # change to some other subject
    entries = ftp.nlst()
    ftp.quit()
    print(len(entries), "entries:")
    for entry in sorted(entries):
        print(entry)
if __name__ == '__main__':
    main()

上記のプログラムを実行すると、次の出力が得られます-

(6, 'entries:')
INDEX
README
acedb
dna-mutations
ecology+evolution
molbio