Bagaimana Anda memeriksa apakah suatu file adalah file normal atau direktori yang menggunakan python?
os.path.isdir()
dan os.path.isfile()
harus memberi Anda apa yang Anda inginkan. Lihat:
http://docs.python.org/library/os.path.html
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 False
jika file tidak ada, jadi Anda mungkin ingin memeriksanya os.path.exists()
juga.
Python 3.4 diperkenalkan pada pathlib
modul 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.
os.path.isdir('string')
os.path.isfile('string')
coba ini:
import os.path
if os.path.isdir("path/to/your/file"):
print "it's a directory"
else:
print "it's a file"
Jika Anda hanya melangkah melalui serangkaian direktori Anda mungkin lebih baik hanya mencoba os.chdir
dan 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))