使用 Python os 模块获取 unix 文件类型

kar*_*sss 6 python unix operating-system

我想获取路径指定的文件的unix文件类型(找出它是普通文件,命名管道,块设备,...)

我在文档中发现,os.stat(path).st_type但在 Python 3.6 中,这似乎不起作用。

另一种方法是使用os.DirEntry对象(例如 by os.listdir(path)),但只有方法is_dir(),is_file()和is_symlink()。

任何想法如何做到这一点?

Ant*_*hon 2

Python 3.6pathlib及其Path对象具有方法:

  • is_dir()
  • is_file()
  • is_symlink()
  • is_socket()
  • is_fifo()
  • is_block_device()
  • is_char_device()

pathlib需要一点时间来适应(至少对我来说是从 Unix 上的 C/C++ 转向 Python 的),但它是一个不错的库