【问题标题】:Get 'unc' path in OSX of mounted share在 OSX 中获取已安装共享的“unc”路径
【发布时间】:2014-09-10 23:04:44
【问题描述】:

在 python 中,我试图获取已安装共享的“unc”路径或服务器路径。 所以我有一个已安装的份额:

/Volumes/D

我如何用 Python 解决这个问题:

//192.168.0.7/D

干杯。

【问题讨论】:

  • OS X 不使用 UNC 路径,所以这个问题没有任何意义。您是在寻找 URL(例如 afp://192.168.0.7/D)还是别名(不是文本,而是潜在复杂的数据结构)?你到底想完成什么(见the XY problem)?
  • 我知道 OSX 不使用 UNC 路径,但我需要知道网络共享的 IP 地址才能在其他地方使用,我需要知道它在 url 上的服务器可以正常工作。请问有什么办法吗?
  • 你能解析mount命令的输出吗?还是df

标签: python macos share mount unc


【解决方案1】:

在查看df 之后,我想出了这个在 OSX 上运行良好的方法:

from subprocess import Popen, PIPE

df = Popen('df -P /Volumes/link/to/some/folder', shell=True, stdout=PIPE)
serverAddress = df.stdout.readlines()[1:][0]
serverAddress = serverAddress.split('@')[1]
serverAddress = serverAddress.split('/')[0]
print serverAddress

【讨论】:

  • 我删除了shell=True 的使用,这对于参数中的路径特别危险(可以包含空格、引号、分号……)。此外,在实践中,您会尝试对已安装的资源进行更完整的解析(例如,不会丢弃用户和共享名),我想知道这是否明确 - 您如何识别这是一个 SMB 安装?
猜你喜欢
  • 1970-01-01
  • 2018-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多