WSL2:Python 使用 VS Code 调试器重命名文件

Posted

技术标签:

【中文标题】WSL2:Python 使用 VS Code 调试器重命名文件【英文标题】:WSL2: Python rename files from with VS Code debugger 【发布时间】:2021-04-04 11:22:52 【问题描述】:

我将 WSL2 与带有 conda 包管理器的 Ubuntu 发行版一起使用。我可以使用 Visual Studio Code GUI(由 code . 在 WSL Ubuntu 终端中启动)在 Windows 上读取和编辑文件(通过 /mnt/c 访问)。

我有以下脚本,我试图从所有 pdf 文件的名称中删除空格:

import os
fldr = '/mnt/c/Documents and Settings/Lenovo/Desktop/'
for f in os.listdir(fldr):
    if 'pdf' in f:
        print(f)
        os.rename(fldr+f, fldr+f.replace(' ','_'))
        print(f.replace(' ','_'))

如果我通过调试器 (F5) 运行脚本,我会收到权限错误 [Errno 13]

如果我使用调试器创建的终端使用 Python 代码手动重命名,我不会收到权限错误。

【问题讨论】:

【参考方案1】:

我很确定运行调试器(在您的窗口中运行)的用户和在 WSL 中运行的用户之间存在差异。

尝试运行以下命令将用户名设置为与 windows 相同:

wsl --user <your username>

【讨论】:

以上是关于WSL2:Python 使用 VS Code 调试器重命名文件的主要内容,如果未能解决你的问题,请参考以下文章

VS code配置python开发调试环境

根据要求触发VS Code python调试器

如何使用 VS Code 在 Docker 容器中远程调试 python 代码

断点无法通过 Windows 10 和 WSL2 上的 Visual Studio Code 在 Chrome 中调试 React 应用程序

Win10+WSL2+Ubuntu 18.04(WSL下)+VS Code(Win10下)+TexLive 2019(Ubuntu下)安装和配置

调试器不会在 VS Code for Python 中的断点处停止