Як визначити, чи нормальним є файл чи каталог із використанням python


129

Як перевірити, чи нормальним є файл чи каталог із використанням python?

Відповіді:



36

Як говорили інші відповіді, os.path.isdir()і os.path.isfile()це те, що ви хочете. Однак потрібно пам’ятати, що це не єдині два випадки. Використовуйте os.path.islink()для сімлінок, наприклад. Крім того, всі вони повертаються, Falseякщо файл не існує, тому ви, ймовірно, захочете перевірити os.path.exists()також.


10

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.




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))
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.