Pythonを使用してファイルが通常のファイルであるかディレクトリであるかを識別する方法


129

ファイルが通常のファイルであるか、Pythonを使用したディレクトリであるかをどのように確認しますか?

回答:



36

他の答えが言っているように、os.path.isdir()そしてos.path.isfile()あなたが望むものです。ただし、これらの2つのケースだけではないことに注意してください。os.path.islink()たとえば、シンボリックリンクに使用します。さらに、Falseファイルが存在しない場合、これらはすべて返されるため、おそらく確認するos.path.exists()こともできます。


10

Python 3.4はpathlibモジュールを標準ライブラリに導入ました。これは、ファイルシステムパスを処理するためのオブジェクト指向アプローチを提供します。関連するメソッドは次のように.is_file()なり.is_dir()ます:

In [1]: from pathlib import Path

In [2]: p = Path('/usr')

In [3]: p.is_file()
Out[3]: False

In [4]: p.is_dir()
Out[4]: True

In [5]: q = p / 'bin' / 'vim'

In [6]: q.is_file()
Out[6]: True

In [7]: q.is_dir()
Out[7]: False

Pathlibは、PyPiのpathlib2モジュールを介し Python 2.7でも利用できます




2

これを試して:

import os.path
if os.path.isdir("path/to/your/file"):
    print "it's a directory"
else:
    print "it's a file"

-1

一連のディレクトリをステップ実行しているだけのos.chdir場合、失敗した場合はエラー/警告を出してみることをお勧めします。

import os,sys
for DirName in sys.argv[1:]:
    SaveDir = os.getcwd()
    try:
        os.chdir(DirName)
        print "Changed to "+DirName
        # Do some stuff here in the directory
        os.chdir(SaveDir)
    except:
        sys.stderr.write("%s: WARNING: Cannot change to %s\n" % (sys.argv[0],DirName))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.