测试与网络驱动器的连接

问题描述 投票:0回答:1

我正在建立一个接口,以使用python(和netuse)连接网络驱动器。一个tkinter按钮运行连接命令,一个文本框显示连接状态。但是,一旦驱动器在Windows资源管理器中可见,即使我们无法打开它(由于缺少网络),此文本框也会显示“已连接”。我必须手动单击“断开连接”,以使其在我的python程序中显示为“断开连接”。 (实际上,该磁盘不再位于win32net.NetUseEnum请求中)

在显示其状态之前如何测试磁盘连接?

拉斐尔

import os
import win32net
(_drives, total, resume) = win32net.NetUseEnum (None, 0, 0)
disques = []
for drive in _drives:
    if drive['local']== "V:":
        disques.append("v")
    if drive['local']=="U:":
        disques.append("u")

def monterU():
    if os.system(r"net use u: \\srsedc03\users") == 0:
        os.system(r"net use u: \\srsedc03\users")
        etatU.set("connecté")
python-3.x shared-directory
1个回答
0
投票

我在其他地方找到了答案:我们可以使用以下代码来检查每个磁盘是否都可以访问。

import os

for drive in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
    drive += ':'

try:
    os.scandir(drive)
    ok = "accessible"
except Exception:
    ok = "non accessible"

print(drive, os.access(drive, os.R_OK), ok)
© www.soinside.com 2019 - 2024. All rights reserved.