Як перевірити, чи нормальним є файл чи каталог із використанням python?
Як перевірити, чи нормальним є файл чи каталог із використанням python?
Відповіді:
os.path.isdir()і os.path.isfile()повинен дати вам те, що ви хочете. Дивіться:
http://docs.python.org/library/os.path.html
Як говорили інші відповіді, os.path.isdir()і os.path.isfile()це те, що ви хочете. Однак потрібно пам’ятати, що це не єдині два випадки. Використовуйте os.path.islink()для сімлінок, наприклад. Крім того, всі вони повертаються, Falseякщо файл не існує, тому ви, ймовірно, захочете перевірити os.path.exists()також.
Python 3.4 вводиться в pathlibмодулі в стандартну бібліотеку, яка забезпечує орієнтований підхід об'єкта для обробки файлової системи шляхів. Методи relavant б .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 також доступний на Python 2.7 через модуль pathlib2 на PyPi.
import os
if os.path.isdir(d):
print "dir"
else:
print "file"
Якщо ви просто переглядаєте набір каталогів, вам може бути краще просто спробувати 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))