如何在 Linux 上获取 Python 的文件夹组?

How to get the group of a folder with Python on a Linux?

我想获取目录组。我尝试了这个 question 的答案,但都不适合我。

如果我通过终端列出文件,我会得到正确的组 gpio。

$ ls -l /sys/class/gpio/
total 0
--w--w---- 1 root gpio 4096 Feb 26 15:07 export
lrwxrwxrwx 1 root gpio    0 Feb 26 15:07 gpio248 -> ../../devices/6000d000.gpio/gpiochip0/gpio/gpio248
lrwxrwxrwx 1 root gpio    0 Feb 26 14:19 gpio250 -> ../../devices/6000d000.gpio/gpiochip0/gpio/gpio250
lrwxrwxrwx 1 root gpio    0 Feb 26 14:35 gpio252 -> ../../devices/6000d000.gpio/gpiochip0/gpio/gpio252
lrwxrwxrwx 1 root gpio    0 Feb 26 13:45 gpiochip0 -> ../../devices/6000d000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root gpio    0 Feb 26 13:45 gpiochip504 -> ../../devices/7000d000.i2c/i2c-4/4-003c/max77620-gpio/gpio/gpiochip504
--w--w---- 1 root gpio 4096 Feb 26 13:58 unexport

如果我对 python 执行相同操作,我会得到正确的用户和错误的组。

>>> import pathlib
>>> src = "/sys/class/gpio/gpio252"
>>> 
>>> pth = pathlib.Path(src)
>>> 
>>> pth.group()
'root'
>>> pth.owner()
'root'
>>> 

我在 Python 版本 3.6.9 和 3.9.2 上尝试过,无论是否有虚拟环境。

我有一个 UDEV 规则,可以使用 chown 命令更正一组新创建的 gpio。但它需要一些时间,所以我想在我的代码中等待它,但我不想使用固定计时器。

谢谢你的任何建议

/sys/class/gpio/gpio252 是指向不同文件的符号链接,python returns 来自文件的信息而不是符号链接。

检查组:

ls -ld /sys/devices/6000d000.gpio/gpiochip0/gpio/gpio252