gpt4 book ai didi

python - 获取 Unix/Linux 远程主机支持的文件/目录信息的最佳方法是什么

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:47:31 25 4
gpt4 key购买 nike

我有一个 python 代码需要获取远程主机上的文件或目录信息,该主机是 Unix/Linux(操作系统名称:HP-UX/RedHat/SunOS/AIX/Linux/等)。

程序 SSH 进入远程主机(使用 paramiko 库)并执行 ls -lls -ld 取决于它是文件还是目录。

我需要的信息是:

  1. 权限(用户/组/其他)
  2. 用户所有者
  3. 组所有者
  4. 最后修改时间
  5. 文件名

但是,ls 的问题是:

  1. 输出与平台不同,因此需要特殊处理,这使得使用检查的代码变得冗长。
  2. 输出中的文件大小单位可能会有所不同,具体取决于环境变量(对于 GNU coreutils,BLOCK_SIZE),或者有些甚至可能不支持这一点。这也需要特定于平台的检查。

我正在寻找 python 库或简单的可移植可执行文件(如果有的话)。

我考虑过的解决方案(但似乎不可行)

  1. 使用正则表达式检查输出格式并处理是否与 konwn 格式匹配。但是,由于尝试检查,这似乎很容易出错。
  2. 还尝试检查文件大小的环境变量,并在输出中找出文件大小单位。 (例如,将几个字符回显到文件并检查单位。如果写入 4 个字符且大小为 1,那么我确定该单位大于 1 个字节。重复这些步骤)。这似乎也容易出错
  3. 在每台主机上安装跨平台编译器,编译后执行。不能这样做,因为如果主机操作系统被重新安装或恢复到没有编译器的程度,则需要重复此安装过程。

有什么建议吗?

最佳答案

stat 会成功吗?它似乎具有您正在寻找的所有功能并且应该已经安装。

http://ss64.com/bash/stat.html

如果你想在 python 中工作,python 有一个名为 stat 的内置库,它提供了类似的功能:

https://docs.python.org/2/library/stat.html

关于python - 获取 Unix/Linux 远程主机支持的文件/目录信息的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40985436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com