我最近从PyCharm切换到VSCode,我以前在PyCharm开发的项目中的相对路径在VSCode中不再起作用。
一般来说,我希望能够从基于根项目目录的各种脚本中导入函数。然而,当指定打开文件的路径时(即使用open('sopath.txt').),我希望使用调用open的文件的相对路径,而不是根目录。
我可以在PyCharm中做到这一点,我喜欢它使路径变得紧凑。我如何在VSCode中复制这种行为?
我试过设置"python.terminal.executeInFileDir": true
,但这使得从其他文件导入不再是相对于根目录的。然而,如果它设置为False,VSCode会搜索从根目录打开的文件,这不是我想要的。
1条答案
按热度按时间ngynwnxp1#
这可能不是你想要的答案,但这是我会做的,特别是如果代码可能会被其他人在未来使用。
如果您确实需要此行为,则应该以编程方式强制执行,而不依赖于IDE选项。
要始终打开相对于进行调用的文件的文件,您可以在该文件中使用
os.path.dirname(__file__)
定义相对路径,并指定完整路径,如:os.path.join(os.path.dirname(__file__), <folder1>, ..., <folderN>, <filename>)