我写了一个非常简单的失败的测试:
with open('file.txt','r') as f:
print(f.read())
虽然文件很多,但出现错误:
FileNotFoundError: [Errno 2] No such file or directory: 'file.txt'
我应该如何设置VSCode env以在执行期间识别远程文件系统? 它似乎确实在使用远程python解释器。
我写了一个非常简单的失败的测试:
with open('file.txt','r') as f:
print(f.read())
虽然文件很多,但出现错误:
FileNotFoundError: [Errno 2] No such file or directory: 'file.txt'
我应该如何设置VSCode env以在执行期间识别远程文件系统? 它似乎确实在使用远程python解释器。
我找到了一个我不喜欢的解决方案。如果我提供了完全限定的路径,则文件将打开,这意味着解释器不在代码所在的目录中运行。是否有办法告诉解释器从脚本的特定目录或更佳的目录运行? / 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
来读取文件,因为它将为您提供相对于模块的路径解析。