Cara mengidentifikasi apakah suatu file adalah file normal atau direktori yang menggunakan python


129

Bagaimana Anda memeriksa apakah suatu file adalah file normal atau direktori yang menggunakan python?

Jawaban:



36

Seperti jawaban lain katakan, os.path.isdir()dan os.path.isfile()apa yang Anda inginkan. Namun, Anda harus ingat bahwa ini bukan hanya dua kasus. Gunakan os.path.islink()untuk symlinks misalnya. Lebih jauh, ini semua kembali Falsejika file tidak ada, jadi Anda mungkin ingin memeriksanya os.path.exists()juga.


10

Python 3.4 diperkenalkan pada pathlibmodul ke dalam perpustakaan standar, yang menyediakan pendekatan berorientasi objek untuk jalur menangani filesystem. Metode yang relevan adalah .is_file()dan .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 juga tersedia di Python 2.7 melalui modul pathlib2 di PyPi.



2

os.path.isdir('string')
os.path.isfile('string')


2

coba ini:

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

-1

Jika Anda hanya melangkah melalui serangkaian direktori Anda mungkin lebih baik hanya mencoba os.chdirdan memberikan kesalahan / peringatan jika gagal:

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))
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.