【问题标题】:How to check if a network path exist?如何检查网络路径是否存在?
【发布时间】:2011-02-04 09:51:51
【问题描述】:

在 linux 中使用 python 了解网络路径(例如 //192.168.1.1/test)是否存在的最佳方法是什么?

【问题讨论】:

  • 编程问题转到 Stackoverflow.com
  • 作为接口/路由,还是扫描邻居?
  • 看起来他可能指的是 Windows UNC 路径。

标签: python linux networking


【解决方案1】:

如果“路径”是指互联网 URL,则需要查看 urllib 模块。

from urllib import urlopen
try:
    urlopen(path)
except IOError:
    pass # does not exist
else:
    pass # does exist

如果“路径”是指 Windows UNC,那么您需要使用 os 模块。

import os
os.path.isdir(path)

注意,我发现 Windows UNC 路径有些不稳定。根据您的网络设置和权限,它们可能无法访问。

【讨论】:

  • 很抱歉给您带来了困惑。我想要的是,如果用户输入网络路径(共享文件夹路径),在进行进一步处理之前,我想验证该路径是否真的存在?
  • 我正在使用 os.stat 函数,如果网络设备不可用或找不到网络路径,该函数会抛出异常。即使尝试使用“open”方法打开文件也会引发异常。但是这些方法可能无法揭示网络设备是否已关闭或找不到文件。为了进行精确检查,您可能必须使用 psutil 的网络接口功能作为选项。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 1970-01-01
相关资源
最近更新 更多