gpt4 book ai didi

python - SSH2 Python 如何识别文件是目录

转载 作者:行者123 更新时间:2023-12-01 07:11:49 27 4
gpt4 key购买 nike

我正在将 python 程序从 paramiko 转换为 ssh2。我已成功进行身份验证,并且可以获得目录列表。我陷入困境的是,当我处理目录列表时,如何识别"file"是目录还是文件。我看到了属性,但在这些属性中我只能看到 atime 是我想要使用的东西(以知道文件有多旧)。一旦我完成了 opendir 和 readdir (因此有了文件列表),我如何识别每个文件是文件还是目录?

当我执行 readdir 时,我返回:

  • 文件名长度
  • 文件名
  • 属性
    • 时间
    • 文件大小
    • 标志
    • gid
    • 时间
    • 权限
    • uid

最佳答案

没用过ssh2-python我自己,但我会说检查flags的内容。根据library's documentation (按照@NullPointerException的建议)可能的值是:

LIBSSH2_SFTP_S_IFMT Type of file mask

LIBSSH2_SFTP_S_IFIFO Named pipe (fifo)

LIBSSH2_SFTP_S_IFCHR Character special (character device)

LIBSSH2_SFTP_S_IFDIR Directory

LIBSSH2_SFTP_S_IFBLK Block special (block device)

LIBSSH2_SFTP_S_IFREG Regular file

LIBSSH2_SFTP_S_IFLNK Symbolic link

LIBSSH2_SFTP_S_IFSOCK Socket

我想说flags是一个位字段,您必须使用按位运算符检查某个标志是否“打开”,例如,检查它是一个目录:

flags & LIBSSH2_SFTP_S_IFDIR == LIBSSH2_SFTP_S_IFDIR

关于python - SSH2 Python 如何识别文件是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58173850/

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