从python中的网络驱动器号获取完整的计算机名称

2023-11-26

我正在使用 python 来填充一个表,其中包含多个存储文件的文件路径。但是,该路径需要具有完整的网络驱动器计算机名称,而不仅仅是驱动器号,即

//计算机名/文件夹/子文件夹/文件

not

P:/文件夹/子文件夹/文件

我已经研究过使用 win32api、win32file 和 os.path 模块,但看起来没有任何东西能够做到这一点。我需要类似的东西win32api.GetComputerName()但能够将已知的驱动器盘符作为参数放入,并返回映射到该盘符的计算机名称。

那么Python中有没有办法查找驱动器号并返回计算机名称呢?


网络驱动器使用映射视窗网络由 mpr.dll(多提供商路由器)导出的 API。您可以通过以下方式创建网络驱动器WNetAddConnection2。要获取与本地设备关联的远程路径,请调用WNetGetConnection。您可以使用 ctypes 执行此操作,如下所示:

import ctypes
from ctypes import wintypes

mpr = ctypes.WinDLL('mpr')

ERROR_SUCCESS   = 0x0000
ERROR_MORE_DATA = 0x00EA

wintypes.LPDWORD = ctypes.POINTER(wintypes.DWORD)
mpr.WNetGetConnectionW.restype = wintypes.DWORD
mpr.WNetGetConnectionW.argtypes = (wintypes.LPCWSTR,
                                   wintypes.LPWSTR,
                                   wintypes.LPDWORD)

def get_connection(local_name):
    length = (wintypes.DWORD * 1)()
    result = mpr.WNetGetConnectionW(local_name, None, length)
    if result != ERROR_MORE_DATA:
        raise ctypes.WinError(result)
    remote_name = (wintypes.WCHAR * length[0])()
    result = mpr.WNetGetConnectionW(local_name, remote_name, length)
    if result != ERROR_SUCCESS:
        raise ctypes.WinError(result)
    return remote_name.value

例如:

>>> subprocess.call(r'net use Y: \\live.sysinternals.com\tools')
The command completed successfully.
0
>>> print(get_connection('Y:'))
\\live.sysinternals.com\tools
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从python中的网络驱动器号获取完整的计算机名称 的相关文章

  • 导入错误:没有名为 _ssl 的模块

    带 Python 2 7 的 Ubuntu Maverick 我不知道如何解决以下导入错误 gt gt gt import ssl Traceback most recent call last File
  • 更改自动插入 tkinter 小部件的文本颜色

    我有一个文本框小部件 其中插入了三条消息 一条是开始消息 一条是结束消息 一条是在 单位 被摧毁时发出警报的消息 我希望开始和结束消息是黑色的 但被毁坏的消息 参见我在代码中评论的位置 插入小部件时颜色为红色 我不太确定如何去做这件事 我看
  • __del__ 真的是析构函数吗?

    我主要用 C 做事情 其中 析构函数方法实际上是为了销毁所获取的资源 最近我开始使用python 这真的很有趣而且很棒 我开始了解到它有像java一样的GC 因此 没有过分强调对象所有权 构造和销毁 据我所知 init 方法对我来说在 py
  • 从 scikit-learn 导入 make_blobs [重复]

    这个问题在这里已经有答案了 我收到下一个警告 D Programming Python ML venv lib site packages sklearn utils deprecation py 77 DeprecationWarning
  • keras加载模型错误尝试将包含17层的权重文件加载到0层的模型中

    我目前正在使用 keras 开发 vgg16 模型 我用我的一些图层微调 vgg 模型 拟合我的模型 训练 后 我保存我的模型model save name h5 可以毫无问题地保存 但是 当我尝试使用以下命令重新加载模型时load mod
  • 如何使用来自 Microsoft-Windows-NDIS-PacketCapture 提供程序的实时 ETW 事件?

    更大的问题是一般如何使用实时 ETW 网络堆栈事件 但我特别感兴趣Microsoft Windows NDIS PacketCapture 提供程序 所有其他网络堆栈提供程序都部分工作 但 NDIS PacketCapture NDIS P
  • 在 NumPy 中获取 ndarray 的索引和值

    我有一个 ndarrayA任意维数N 我想创建一个数组B元组 数组或列表 其中第一个N每个元组中的元素是索引 最后一个元素是该索引的值A 例如 A array 1 2 3 4 5 6 Then B 0 0 1 0 1 2 0 2 3 1 0
  • Qt 支持 Windows 蓝牙 API 吗?

    谁能告诉我 Qt 是否支持 Windows 蓝牙 API 如果是这样 您能否分享一些有关如何使用它的信息 自上次答复以来 这个问题的答案发生了一些变化 Qt 5 2 版为 Linux BlueZ 和 BlackBerry 设备实现了蓝牙 A
  • Pandas Dataframe 中 bool 值的条件前向填充

    问题 如何转发 fill boolTruepandas 数据框中的值 如果是当天的第一个条目 True 到一天结束时 请参阅以下示例和所需的输出 Data import pandas as pd import numpy as np df
  • 如何将 numpy.matrix 提高到非整数幂?

    The 运算符为numpy matrix不支持非整数幂 gt gt gt m matrix 1 0 0 5 0 5 gt gt gt m 2 5 TypeError exponent must be an integer 我想要的是 oct
  • Python:尝试检查有效的电话号码

    我正在尝试编写一个接受以下格式的电话号码的程序XXX XXX XXXX并将条目中的任何字母翻译为其相应的数字 现在我有了这个 如果启动不正确 它将允许您重新输入正确的数字 然后它会翻译输入的原始数字 我该如何解决 def main phon
  • Python - 在窗口最小化或隐藏时使用 pywinauto 控制窗口

    我正在尝试做的事情 我正在尝试使用 pywinauto 在 python 中创建一个脚本 以在后台自动安装 notepad 隐藏或最小化 notepad 只是一个示例 因为我将编辑它以与其他软件一起使用 Problem 问题是我想在安装程序
  • 对输入求 Keras 模型的导数返回全零

    所以我有一个 Keras 模型 我想将模型的梯度应用于其输入 这就是我所做的 import tensorflow as tf from keras models import Sequential from keras layers imp
  • 循环标记时出现“ValueError:无法识别的标记样式 -d”

    我正在尝试编码pyplot允许不同标记样式的绘图 这些图是循环生成的 标记是从列表中选取的 为了演示目的 我还提供了一个颜色列表 版本是Python 2 7 9 IPython 3 0 0 matplotlib 1 4 3 这是一个简单的代
  • 如何将 GIT 调用的输出获取到批处理脚本中的变量中?

    我有一个 git 命令来获取当前存储库的最新 SHA 如下所示 git log pretty format H n 1 我有一个 Windows 批处理脚本 我想按如下方式使用它 SET CURRENT SHA 但我不知道如何将从 git
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject
  • 改变字典的哈希函数

    按照此question https stackoverflow com questions 37100390 towards understanding dictionaries 我们知道两个不同的字典 dict 1 and dict 2例
  • Pandas 与 Numpy 数据帧

    看这几行代码 df2 df copy df2 1 df 1 df 1 values 1 df2 ix 0 0 我们的教练说我们需要使用 values属性来访问底层的 numpy 数组 否则我们的代码将无法工作 我知道 pandas Data
  • PyAudio ErrNo 输入溢出 -9981

    我遇到了与用户相同的错误 Python 使用 Pyaudio 以 16000Hz 录制音频时出错 https stackoverflow com questions 12994981 python error audio recording

随机推荐

  • 这是 C11 匿名结构吗?

    我正在研究 C11 草案 上面写着 没有标记的结构类型的未命名成员称为匿名结构 没有标记的联合类型的未命名成员称为匿名联合 匿名结构或联合的成员被视为包含结构或联合的成员 所以我构建了以下测试用例 struct type with no t
  • C# 电子邮件正则表达式——有遵守 RFC 2822 指南的吗?

    我意识到有大量的正则表达式电子邮件验证 但我似乎找不到符合RFC 2822标准 我发现那些不断放出垃圾的人 电子邮件受保护 打通 如果其中一个问题已经按照 RFC 2822 得到了回答 但没有注释 请原谅我 I did 一个关于这个的帖子不
  • 如何对 PNG 图像进行 Base-64 编码以便在 CSS 文件的 data-uri 中使用?

    我想对 PNG 文件进行 base 64 编码 将其包含在样式表的 data url 中 我怎样才能做到这一点 我使用的是 Mac 所以 Unix 命令行上的东西会很好用 基于 Python 的解决方案也很棒 这应该在 Python 中完成
  • 想要在 __weak ivar 被 niled 时执行操作

    我有一个 class Foo其中包含一个 weak id bar伊瓦尔 不同类中方法的多个操作可能导致对象消失 从而得到bar niled 我想在 ivar 被 ARC 自动清除时执行一个操作 如果可以的话 我想避免转弯bar进入属性或使用
  • 为什么 Urlmon.dll 中的 FindMimeFromData 函数为许多文件类型返回 MIME 类型“application/octet-stream”?

    为什么 Urlmon dll 中的 FindMimeFromData 函数对许多文件类型返回 MIME 类型 application octet stream 而按文件扩展名检查 MIME 类型 即针对 Windows 注册表 会返回更精确
  • 我可以通过 XML 为 RingtonePreference 插入 android:defaultValue 特征吗?

    有没有办法通过 XML 在 RingtonePreference 中添加默认值 例如 我的首选项 xml 如下所示
  • iPhone 设备上的方法 Swizzle

    我尝试了 JRSwizzle 和 MethodSwizzle 它们在模拟器上编译得很好 但当我尝试为设备 3 x 编译时抛出一堆错误 有人在 iphone 上有过运气吗 有什么窍门 TIA CocoaDev wiki 对方法调配进行了广泛的
  • IntelliJ 拒绝添加自定义组件

    我的问题如下 假设我们有以下文件 package p import javax swing public class test extends JPanel test super true 我保存文件并编译它 现在 在 IntelliJ 中
  • 使用 jQuery 查看输入是否有空格

    我正在尝试编写一个函数来读取输入值 并确定在其创建过程中是否使用了空格 我并不是想修剪任何东西 只是看看它是否需要修剪的能力 我什至不知道从哪里开始 所以我没有任何代码可供查看 如果可以的话请帮忙 我正在尝试这个解决方案 但它似乎不起作用
  • 如何将 MQ Server 回复消息与正确的请求相匹配

    我正在连接到 IBM Websphere MQ 我希望能够将回复消息与正确的请求消息相匹配 我已经翻阅了数百页才能得到这个 但没有运气 我有一个类 MQHandler 它将一条消息发送到一个定义的队列 并从另一个队列读取请求 这工作得很好
  • 如何使用 HtmlUnit 获取 HTML 页面

    我知道你可能认为这个问题很愚蠢 但我需要使用 HtmlUnit 但是 它以 XML 或文本形式返回页面 我不知道如何获取纯HTML 与浏览器返回的源代码相同 我需要这个 因为我需要使用一些编写的模块 有任何想法吗 您可以使用以下代码来实现您
  • 为什么两阶段查找无法选择“swap”的重载版本?

    我在学习这个令人着迷的答案 to a 微妙的问题关于实施的最佳实践swap用户定义类型的函数 我的问题最初是由讨论向命名空间添加类型的非法性std 我不会在此处重新打印上述链接答案中的代码片段 相反 我想理解答案 我在上面链接的答案在第一个
  • JFrame.dispose() 与 System.exit()

    这两种方法有什么区别 System exit and JFrame dispose 如果我们想在单击按钮时关闭 Java Swing 应用程序 我应该使用哪种方法 System exit 导致 Java VM 完全终止 JFrame dis
  • 更新到 Angular 8 CLI 后抛出“.getColorDepth 不是函数”

    我的一位同事将你的项目升级到 Angular 8 我拉了他的分支并运行npm install 在他的分支上一切正常 现在 每次运行任何 ng 命令时 我都会遇到相同的错误 C xxx party ui node modules angula
  • 使用 ajax 调用时如何拦截 jQuery 链接?

    我可能正在做一些愚蠢的事情 但是如果我有一个正常的链接 例如 div div a href Not Intercepted A link a 我将 jQuery 单击事件附加到链接 如下所示 interceptMe click functi
  • 散列密码和加密密码之间的区别

    目前得票最高的是这个问题 states 另一个问题虽然与安全相关 但与其说不是安全问题 而且完全失败了理解散列密码和加密密码之间的区别 最常见于程序员试图提供不安全的 提醒我密码 功能的代码中 这个区别到底是什么 我一直认为散列是加密的一种
  • Rails Bootstrap 导航栏和refineryCMS

    有人在refineryCMS 中实现了 Rails Bootstrap Navbar 吗 我很难弄清楚如何呈现下拉菜单 这应该是实现这一目标的正确方法 menu html erb div div
  • TypeScript 在 WebStorm 7 中将所有 ts 文件编译为单个 JavaScript 文件

    我的项目中有很多 ts 文件 WebStorm 将每个 ts 文件构建为 js 文件 但我不想那样 我有一个 app ts 文件 所有其他 ts 文件都将构建在该 app ts 文件中 我怎样才能在 WebStorm 7 中做到这一点 CL
  • jquery .on('input') 不会单独在 ie8 中被触发

    我遇到了 IE8 特有的问题 此事件不会单独在 IE8 中触发 但在 IE9 和其他浏览器 如 Firefox 和 Chrome 中运行良好 myId on input function do something 如果 IE8 中有相同的解
  • 从python中的网络驱动器号获取完整的计算机名称

    我正在使用 python 来填充一个表 其中包含多个存储文件的文件路径 但是 该路径需要具有完整的网络驱动器计算机名称 而不仅仅是驱动器号 即 计算机名 文件夹 子文件夹 文件 not P 文件夹 子文件夹 文件 我已经研究过使用 win3