从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中的网络驱动器号获取完整的计算机名称 的相关文章

  • python的_random是什么?

    如果你打开random py看看它是如何工作的 它的类Random子类 random Random import random class Random random Random Random number generator base
  • Python 将列表中的字符串转换为数字

    我遇到了以下错误消息 以 10 为基数的 int 的文字无效 2 2 外部用单引号括起来 内部用双引号括起来 该数据位于primes列出使用print primes 0 样本数据在primes list 2 3 5 7 The primes
  • Pygame 玩家精灵没有出现

    我一直在为学校计算机课做这个项目 但无法让玩家精灵出现 有人可以帮忙吗 当我运行主游戏循环时 除了玩家精灵之外 所有内容都正确显示 它应该由于箭头输入而在屏幕上移动并受到重力的影响 当我删除图像并仅使用对象类和矩形时 该代码也有效 impo
  • 确定Python模块中的函数是否可用

    我正在研究一些使用Python套接字的代码socket fromfd http docs python org library socket html socket fromfd功能 但是 此方法并非在所有平台上都可用 因此我正在编写一些后
  • Weasyprint 在调用 write_pdf 时获得未定义的属性:“AttributeError:‘PosixPath’对象没有属性‘read_text’”

    我正在 ubuntu 18 04 上运行 weasyprint 项目 并尝试创建一个 pdf 当我尝试设置页脚图像时 问题就开始了 我正在 python 3 6 7 上运行 这是我调用 weasyprint 的代码 import sys i
  • 肥皂服务的良好框架是什么?

    我正在寻找一个用于肥皂的好框架service 我更喜欢使用Pythonic框架 但是在查看了soaplib rpclib 太不稳定 SOAPy 不适用于2 7 和ZSI 太 令人困惑 之后 我不确定这是否可能 我对使用另一种语言感到满意 尽
  • 将列表传递给 PyCrypto 中的 AES 密钥生成器

    我尝试使用 Pycrypto 生成 AES 密钥 但收到以下错误 类型错误 列表 不支持缓冲区接口 对于以下声明 aescipher AES new mykey AES MODE ECB mykey 属于类型list并包含 18854347
  • 从具有不同活动 perl 版本的另一个 perl 脚本调用 perl 函数

    我们有两个版本的 Active perl 5 6 和 5 24 我们有必须在 Active perl 5 24 版本 采用 TLS 1 2 版本 上执行的 Web 服务 并且需要从 Active perl 5 6 版本调用 我们使用的是wi
  • 将 csv 文件按多列拆分为 panda 数据框

    我有一个包含多列的 tsv 文件 有 10 多列 但对我来说重要的列是名称为 user name shift id url id 的列 我想创建一个数据框 首先根据用户名分隔整个 csv 文件 即只有具有相同用户名的行才会分组在一起 从该块
  • 图像堆栈的最大强度投影

    我正在尝试重新创建该功能 max array 3 来自 MatLab 它可以获取 N 个图像的 300x300px 图像堆栈 我在这里说 图像 因为我正在处理图像 实际上这只是一个大的双数组 300x300xN 并创建一个 300x300
  • 如何将时间间隔划分为不同长度的部分?

    我有一个从 0 到t 我想把这个区间分成一个以2 25 2 25 1 5为周期的累积序列 方法如下 input start 0 stop 19 output sequence 0 2 25 4 5 6 8 25 10 5 12 14 25
  • 具有条件的重复行 pandas dataframe python

    我的数据框有问题 我的 df 是 product power brand product 1 3 x 1500W brand A product 2 2x1000W 1x100W product 3 1x1500W 1x500W brand
  • 在Python中引用不带换行符的长字符串

    我正在尝试在 Python 中编写一个长字符串 该字符串显示为 OptParser 选项的帮助项 在我的源代码 py 文件中 我想放置换行符 以便我的代码不会花费新行 但是 我不希望这些换行符影响代码运行时该字符串的显示方式 例如 我想写
  • 收到的标签值 1 超出了 [0, 1) 的有效范围 - Python、Keras

    我正在使用具有张量流背景的 keras 开发一个简单的 cnn 分类器 def cnnKeras training data training labels test data test labels n dim print Initiat
  • 在 Django/python 中,如何将内存缓存设置为无限时间?

    cache set key value 9999999 但这并不是无限的时间 def get memcache timeout self timeout Memcached deals with long gt 30 days timeou
  • Beautiful Soup 获取动态表数据

    我有以下代码 url https www basketball reference com leagues NBA 2017 standings html all expanded standings html urlopen url so
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • sklearn 中带有词袋和附加情感特征的文本分类器

    我正在尝试构建一个分类器 除了词袋之外 还使用情绪或主题 LDA 结果 等特征 我有一个包含文本和标签的 pandas DataFrame 并且想添加情感值 5 到 5 之间的数字 和 LDA 分析结果 带有句子主题的字符串 我有一个工作词
  • 使用 Pandas 和 Group By 绘制堆叠直方图

    我正在使用如下所示的数据集 Gender Height Width Male 23 4 4 4 Female 45 4 4 5 我想可视化高度和宽度的堆叠直方图 我希望每个图有两个堆叠的直方图 每个性别一个 这是文档中的堆叠直方图 如果存在
  • 用于桌面数据库应用程序的 Python 框架

    是否有一个框架可以为Python开发桌面数据库应用程序 一些带有CRUD屏幕的屏幕 我正在寻找类似于 Windows 窗体的东西 能够将 TextField Combos 和其他 UI 隐喻与datasets连接到关系数据库例如 MySQL

随机推荐

  • 这是 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