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

Win10下Ubuntu环境运行Python如何将文件保存到Windows系统文件夹

问题根因
  • WSL下的Ubuntu为Linux运行环境,不识别Windows的盘符格式C:\,也不使用反斜杠\作为路径分隔符。你输入的路径中的反斜杠会被Linux识别为转义字符,最终整个路径字符串会被当成普通文件名处理,因此会在脚本同级目录生成命名异常的文件。
  • WSL默认会将Windows所有磁盘挂载到/mnt/目录下,C盘对应路径为/mnt/c,D盘对应/mnt/d,以此类推,Linux环境统一使用正斜杠/作为路径分隔符。
修复方案

直接转换路径(仅WSL环境运行)

将Windows路径转换为WSL可识别的挂载路径即可,示例代码如下:

# 原Windows路径 C:\Users\XXXX\Downloads\my_file.csv 转换后如下
df.to_csv("/mnt/c/Users/XXXX/Downloads/my_file.csv")

注意事项:

  • 盘符字母必须小写,比如C盘对应路径中的c,不可使用大写C
  • 所有路径分隔符替换为正斜杠/,无需添加转义符

多环境兼容方案(同时支持Windows原生、WSL环境运行)

可添加环境判断逻辑自动适配路径,无需手动修改路径格式:

import os
import sys

def convert_win_path_to_wsl(win_path):
    # 判断是否为WSL环境
    if sys.platform == "linux" and "microsoft" in os.uname().release.lower():
        win_path = win_path.replace("\\", "/")
        drive, path_suffix = win_path.split(":/", 1)
        return f"/mnt/{drive.lower()}/{path_suffix}"
    # 非WSL环境直接返回原路径
    return win_path

# 调用示例
target_path = convert_win_path_to_wsl("C:\\Users\\XXXX\\Downloads\\my_file.csv")
df.to_csv(target_path)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:24:04