为什么VSCode无法使用远程ssh服务器在同一目录中打开文件?

我写了一个非常简单的失败的测试:

with open('file.txt','r') as f:
    print(f.read())

虽然文件很多,但出现错误:

FileNotFoundError: [Errno 2] No such file or directory: 'file.txt'

我应该如何设置VSCode env以在执行期间识别远程文件系统? 它似乎确实在使用远程python解释器。

ww1610 回答:为什么VSCode无法使用远程ssh服务器在同一目录中打开文件?

我找到了一个我不喜欢的解决方案。如果我提供了完全限定的路径,则文件将打开,这意味着解释器不在代码所在的目录中运行。是否有办法告诉解释器从脚本的特定目录或更佳的目录运行? / p>

这有效:

import os

CWD = os.path.dirname(os.path.abspath(__file__))

with open(f'{CWD}/file.txt','r') as f:
    print(f.read())
,

您可以使用“无需调试即可运行”并在launch.json中使用"cwd" setting进行配置。这样,您可以指定要从何处执行。

但是,如果特定的目标是读取源代码旁边存在的文件,我建议使用importlib.resources来读取文件,因为它将为您提供相对于模块的路径解析。

本文链接:https://www.f2er.com/3041399.html

大家都在问