asa*_*128 2 python linux filesystems
我在Linux下有一些Python文件路径,我需要弄清楚它是否是块设备 - 表示磁盘或分区.输入ls -l时可以看到此信息,例如
brw-rw---- 1 root disk 8, 1 09-12 18:01 /dev/sda1
Run Code Online (Sandbox Code Playgroud)
我的意思是这个输出开头的字母b.使用内置库可以在Python中获得类似的东西吗?最终我可以使用子进程来获取"ls -l"结果并检查第一个字符是否正确,但我觉得可以有更好的解决方案.不幸的是我找不到这个.谢谢.
小智 6
由于 3.4pathlib提供了方便的函数Path.is_block_device()
>>> import pathlib
>>> p = pathlib.Path('/dev/vda')
>>> p.is_block_device()
True
Run Code Online (Sandbox Code Playgroud)
你可以使用stat.S_ISBLK和os.stat来使用statlib :
In [1]: import os
In [2]: import stat
In [3]: mode = os.stat("/dev/sda2").st_mode
In [4]: stat.S_ISBLK(mode)
Out[4]: True
In [5]: mode = os.stat("/dev/sr0").st_mode
In [6]: stat.S_ISBLK(mode)
Out[6]: True
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3399 次 |
| 最近记录: |