Python中能否使用Windows网络路径?调用os.makedirs失败求助
在Python中使用Windows网络路径的正确方式
当然可以在Python函数里使用Windows网络(UNC)路径!你遇到的问题主要是路径格式不对,我们来一步步解决:
你的尝试中用了'////SERVERNAME//SharedFolder//NewFolder',这种写法不符合UNC路径的规范。虽然Windows有时能识别正斜杠,但UNC路径的标准开头是两个反斜杠\\SERVERNAME\SharedFolder,而Python里普通字符串中的反斜杠是转义字符,所以需要特殊处理。
正确的路径写法示例:
使用原始字符串(推荐)
原始字符串会忽略转义序列,直接保留路径的原始格式,写法最直观:import os # 原始字符串让反斜杠直接生效 target_path = r'\\SERVERNAME\SharedFolder\NewFolder' # 添加exist_ok=True避免目录已存在时报错 os.makedirs(target_path, exist_ok=True)在普通字符串中转义反斜杠
如果不想用原始字符串,就把每个反斜杠写成两个(用来转义):import os target_path = '\\\\SERVERNAME\\SharedFolder\\NewFolder' os.makedirs(target_path)使用pathlib模块(现代写法)
Python 3.4+推出的pathlib模块更适合处理路径,代码可读性更高:from pathlib import Path target_path = Path(r'\\SERVERNAME\SharedFolder\NewFolder') # parents=True会自动创建所需的父目录;exist_ok=True跳过已存在的目录 target_path.mkdir(parents=True, exist_ok=True)
如果还是无法生效,检查这两个关键点:
- 权限问题:确认运行Python脚本的用户对
\\SERVERNAME\SharedFolder有写入权限,可以先在文件资源管理器里手动尝试创建文件夹,验证权限是否正常。 - 网络连通性:确保服务器
SERVERNAME在网络上可达,且共享文件夹处于正常启用状态。
内容的提问来源于stack exchange,提问作者Federico Pinciaroli
相关产品推荐
相关产品推荐

