如何在网络的根级别获取目录列表

张伟彬

除了使用外,如何列出网络上的目录 os.listdir()

这提示我错误

import os

path = r"\\123.12.12.123"
print(os.listdir(path))

FileNotFoundError: [WinError 67] The network name cannot be found: '\\\\123.12.12.123'

很好,但不是我想要的

import os

path = r"\\123.12.12.123\abc"
print(os.listdir(path))

尝试了所有这些,并获得了相同的错误代码。

path = "\\\\123.12.12.123"
path = "\\\\123.12.12.123\\"
path = "//123.12.12.123"

更新:

它是服务器地址,但不是有效的UNC路径。\ 123.12.12.123 \ abc是共享驱动器的实际根目录。

os.listdir() 将无法完成这项工作,我们将需要使用其他一些方法来列出答案部分中提到的共享驱动器。

沃瓦诺

在Windows上,您可以使用Win32 API函数NetShareEnum

Python模块pywin32提供了对许多Win32 API的访问,其中包括NetShareEnum函数,该函数可以从中获得win32net.NetShareEnum查找股票的最简单方法是使用Python命令[x[0] for x in win32net.NetShareEnum('123.12.12.123')]

为了演示如何使用它,以下示例为在本地主机上找到的所有共享打印所有目录:

import os
import win32net

def get_shares(server):
    return [x[0] for x in win32net.NetShareEnum(server)]

def print_shares_and_directories(server):
    shares = get_shares(server)
    for share in shares:
        print('SHARE: %s' % share)
        path = '\\\\%s\\%s' % (server, share)
        try:
            files = os.listdir(path)
        except OSError:
            print('    (Directory listing failed)')
        else:
            for file in files:
                if os.path.isdir(os.path.join(path, file)):
                    print('    %s' % file)

print_shares_and_directories('localhost')

感谢Masklinn,后者在评论中提供了相关信息。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在网络目录中列出所有以tar.gz结尾的下载URL

来自分类Dev

如何在网络上设置超时

来自分类Dev

如何在网络上设置超时

来自分类Dev

如何在网络中公开?

来自分类Dev

如何在C的根级别声明结构?

来自分类Dev

C#如何在网络请求后从Task <string>获取字符串?

来自分类Dev

如何在网络核心C#中获取当前环境(QA / Prod / DEV)名称?

来自分类Dev

C#如何在网络请求后从Task <string>获取字符串?

来自分类Dev

如何在Elixir中获取按日期排序的目录列表?

来自分类Dev

如何在android中获取包含图像的目录列表

来自分类Dev

如何在网格上方获取按钮?

来自分类Dev

存在时如何获取字体以在网络上下载?

来自分类Dev

如何在网络浏览器中获取“所见即所得”(打印所见内容)?

来自分类Dev

如何在java脚本中获取几个输入字段的值并将它们写在网络上?

来自分类Dev

mathjax / katex如何在网络上呈现复杂的公式?

来自分类Dev

如何在网络模式下缩进内联Javascript?

来自分类Dev

如何在网络上存储JavaScript资产?

来自分类Dev

如何在网络共享中递归搜索文件?

来自分类Dev

如何在网络上解决编码问题

来自分类Dev

如何在网络共享中递归搜索文件?

来自分类Dev

如何在网络上找到Raspberry Pi

来自分类Dev

如何在网络应用中使用Yii组件?

来自分类Dev

Windows如何在网络位置之间复制文件?

来自分类Dev

如何在网络中用其他语言写数字?

来自分类Dev

etcd如何在网络分区期间处理读取/写入?

来自分类Dev

如何在网络视图中拍摄地图的屏幕截图

来自分类Dev

如何在网络抓取的 html 表中包含属性

来自分类Dev

如何在根级别加载yii2模块

来自分类Dev

如何在 WebStorm 的内置网络服务器中启用目录列表

Related 相关文章

  1. 1

    如何在网络目录中列出所有以tar.gz结尾的下载URL

  2. 2

    如何在网络上设置超时

  3. 3

    如何在网络上设置超时

  4. 4

    如何在网络中公开?

  5. 5

    如何在C的根级别声明结构?

  6. 6

    C#如何在网络请求后从Task <string>获取字符串?

  7. 7

    如何在网络核心C#中获取当前环境(QA / Prod / DEV)名称?

  8. 8

    C#如何在网络请求后从Task <string>获取字符串?

  9. 9

    如何在Elixir中获取按日期排序的目录列表?

  10. 10

    如何在android中获取包含图像的目录列表

  11. 11

    如何在网格上方获取按钮?

  12. 12

    存在时如何获取字体以在网络上下载?

  13. 13

    如何在网络浏览器中获取“所见即所得”(打印所见内容)?

  14. 14

    如何在java脚本中获取几个输入字段的值并将它们写在网络上?

  15. 15

    mathjax / katex如何在网络上呈现复杂的公式?

  16. 16

    如何在网络模式下缩进内联Javascript?

  17. 17

    如何在网络上存储JavaScript资产?

  18. 18

    如何在网络共享中递归搜索文件?

  19. 19

    如何在网络上解决编码问题

  20. 20

    如何在网络共享中递归搜索文件?

  21. 21

    如何在网络上找到Raspberry Pi

  22. 22

    如何在网络应用中使用Yii组件?

  23. 23

    Windows如何在网络位置之间复制文件?

  24. 24

    如何在网络中用其他语言写数字?

  25. 25

    etcd如何在网络分区期间处理读取/写入?

  26. 26

    如何在网络视图中拍摄地图的屏幕截图

  27. 27

    如何在网络抓取的 html 表中包含属性

  28. 28

    如何在根级别加载yii2模块

  29. 29

    如何在 WebStorm 的内置网络服务器中启用目录列表

热门标签

归档