gpt4 book ai didi

python - 如何在 Python 中复制 Windows subst 命令?

转载 作者:可可西里 更新时间:2023-11-01 10:07:58 37 4
gpt4 key购买 nike

我正在尝试在我的 Windows 设置上映射一个虚拟驱动器,我使用的工具之一不喜欢文件名中的空格。

在命令行上,我会执行以下操作

subst l: "c:\Program Files\Complier\version 6.0\bin"

我尝试在 Python 中复制该功能,但没有成功。我开始使用os.execl()直接执行subst命令,结果报了invalid parameter错误。

SO 上的其他一些解决方案建议直接使用 Win32API。

顺便说一句,我在 Windows 上使用 Python 2.7.3。

最佳答案

您可以直接调用 Windows API。请注意,您需要在此处传递 unicode 字符串,或者您可以在函数上设置 argtypes 以获得类型安全行为。

from ctypes import windll, c_int, c_wchar_p
DefineDosDevice = windll.kernel32.DefineDosDeviceW
DefineDosDevice.argtypes = [ c_int, c_wchar_p, c_wchar_p ]

# Create a subst. Check the return for non-zero to mean success
if DefineDosDevice(0, "T:", "C:\\Temp") == 0:
raise RuntimeError("Subst failed")

# Delete the subst.
if DefineDosDevice(2, "T:", "C:\\Temp") == 0:
raise RuntimeError("Couldn't remove subst")

关于python - 如何在 Python 中复制 Windows subst 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10697909/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com