ssh2python如何识别文件是目录

2024-06-01 20:32:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在将我的python程序从paramiko转换为ssh2。我已经成功地进行了身份验证,我可以得到一个目录列表。我被卡住的地方是,当我处理目录列表时,我如何识别“文件”是目录还是文件。我看到的属性,但那些我只能看到一个是我想使用的东西(知道有多旧的文件)。一旦我完成了opendir和readdir(还有一个文件列表),我如何识别每个文件是一个文件还是一个目录?你知道吗

当我执行readdir时,返回:

  • 文件名长度
  • 文件名
  • 属性
    • 时间
    • 文件大小
    • 标志
    • 基德
    • 时间
    • 权限
    • uid编号

Tags: 文件程序目录身份验证paramikossh2列表属性
1条回答
网友
1楼 · 发布于 2024-06-01 20:32:28

我自己没有用过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是一个位字段,您必须用位运算符检查某个标志是否为“on”,例如,要检查它是一个目录:

flags & LIBSSH2_SFTP_S_IFDIR == LIBSSH2_SFTP_S_IFDIR

相关问题 更多 >