![](/img/trans.png)
[英]`os.path.getsize()` slow on Network Drive (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 share
的subprocess
模塊,我能夠解析完整的網絡路徑,這將列出所有共享驅動器。
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.