簡體   English   中英

在Python中確定Windows上共享驅動器的網絡路徑

[英]Determine network path of shared drive on Windows in Python

考慮通過網絡共享的Windows計算機上的本地驅動器。

驅動器在本地映射到D:\\ ,它由本地計算機通過網絡與名稱data共享。 因此,此驅動器的網絡路徑將是\\\\computer-name\\data

考慮到來自主機的驅動器號D ,是否可以在Python中以編程方式確定共享網絡路徑的名稱?

預期的行為將是:

drive_letter = "D"
get_network_path(drive_letter)
>>> \\computer-name\data

唯一的附加約束是,這應該沒有管理員權限。

通過使用帶有net sharesubprocess模塊,我能夠解析完整的網絡路徑,這將列出所有共享驅動器。

import platform
import subprocess


def get_network_path(drive_letter: str):
    s = subprocess.check_output(['net', 'share']).decode()  # get shared drives
    for row in s.split("\n")[4:]:  # check each row after formatting
        split = row.split()
        if len(split) == 2:  # only check non-default shared drives
            if split[1] == '{}:\\'.format(drive_letter):
                return r"\\{}\{}".format(platform.node(), split[0])

print(get_network_path("D"))   
>>> \\computer-name\data

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM