【问题标题】:List all folders on a NAS with Python使用 Python 列出 NAS 上的所有文件夹
【发布时间】:2016-05-04 09:56:25
【问题描述】:

我正在尝试使用 Python 列出 Synology NAS 上的所有共享文件夹。

假设我想要\\DISKSTATION上每个文件夹的列表
例如: 公共、家庭、电影等

这可能吗?

感谢您的帮助!

【问题讨论】:

  • 您只需要按网络路径列出所有文件夹吗?
  • 运行脚本以按网络路径列出所有文件夹仅对运行脚本的凭据有效。这可能会或可能不会带回您正在寻找的信息。

标签: python python-3.x nas synology


【解决方案1】:

为什么不使用pysmb

pip install pysmb

列出分享内容:

from smb.SMBConnection import SMBConnection

conn = SMBConnection('username', 'password', 'local_NetBIOS_name', 'remote_NetBIOS_name')
conn.connect('ip_address')
results = conn.listPath('share_name', '/optionally/some/subfolder')

for x in results:
    print x.filename

将输出:

.
..
dir1
dir2
file1
file2

【讨论】:

    【解决方案2】:
    from smb.SMBConnection import SMBConnection
    
    conn = SMBConnection('username', 'password', 'local_NetBIOS_name',   'remote_NetBIOS_name')
    conn.connect('domain address')
    folders = conn.listPath('share_name', '/relative/subfolder')
    
    for folder in folders:
        print folder.filename
    

    conn.connect 也可以使用像 xyz.com 这样的域地址

    conn.connect('xyz.com')
    

    【讨论】:

      【解决方案3】:

      如果您可以直接访问您的 NAS 文件夹(无需任何进一步的身份验证),您可以尝试运行 python:

      import os
      os.listdir(r'\\DISKSTATION')
      

      它将打印出\\DISKSTATION 中的子文件夹。如果要查找所有子文件夹,可以关注:Getting a list of all subdirectories in the current directory

      【讨论】:

        猜你喜欢
        • 2019-11-02
        • 2021-09-22
        • 2020-07-02
        • 1970-01-01
        • 1970-01-01
        • 2013-05-08
        • 1970-01-01
        • 2012-08-12
        • 1970-01-01
        相关资源
        最近更新 更多