You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中含$的Windows共享路径报错,如何修改路径使其生效?

解决Windows共享路径在Python中的报错问题

嘿,这个问题我之前也碰到过!Windows共享路径在Python里确实容易踩转义的坑,我来给你拆解一下怎么解决~

首先说下你代码里的问题:在Python字符串中,反斜杠\是转义字符,比如你写的\d会被Python当成无效的转义序列(正则里\d代表数字,但普通字符串这么写会导致路径解析错误),而且单个反斜杠无法正确表示路径里的分隔符,这就导致你的路径被解析错了,自然找不到对应的共享目录。

下面给你几种可行的修改方案:

方案1:使用原始字符串(最简单直接)

在字符串前面加r,这样Python会把字符串里的反斜杠当成普通字符,不会进行转义处理:

import os
folder = "你的文件夹名"  # 替换成实际的folder值
workplace = r"\\147.134.45.32\d$\output\mil/" + folder + "/"
if not os.path.exists(workplace):
    os.mkdir(workplace)

建议统一路径分隔符,要么全用反斜杠,要么全用正斜杠,避免混用可能带来的问题。

方案2:用双反斜杠替换单反斜杠

把每个单反斜杠改成双反斜杠,这样每个\\会被解析成一个实际的\:

import os
folder = "你的文件夹名"
workplace = "\\\\147.134.45.32\\d$\\output\\mil/" + folder + "/"
if not os.path.exists(workplace):
    os.mkdir(workplace)

方案3:用路径拼接工具(更规范,推荐)

Python的os.path.join或者pathlib模块可以帮你自动处理路径分隔符,避免手动拼接的错误,而且跨平台性更好:

用os.path.join

import os
folder = "你的文件夹名"
# 先定义共享路径的基础部分,用原始字符串避免转义
base_path = r"\\147.134.45.32\d$\output\mil"
workplace = os.path.join(base_path, folder)
# 用os.makedirs代替mkdir,能自动创建多级目录(如果folder里包含子目录的话)
if not os.path.exists(workplace):
    os.makedirs(workplace)

用pathlib(Python3.4+推荐)

from pathlib import Path
folder = "你的文件夹名"
base_path = Path(r"\\147.134.45.32\d$\output\mil")
workplace = base_path / folder  # 直接用/拼接路径,非常直观
if not workplace.exists():
    workplace.mkdir(parents=True)  # parents=True表示自动创建父目录

这些方法都能帮你正确解析Windows共享路径,解决报错问题~

内容的提问来源于stack exchange,提问作者milad

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 18:32:45