在VS Code环境运行Python脚本有一个困扰,举个例子:我的工作目录是/Python_Work,我在工作目录中创建了文件/Python_Work/Part-02/test.py, 并且运行test.py生成了file.txt文件:
with open('file.txt', 'w') as f:
f.write('HelloWorld')
我们以为file.txt在/Python_Work/Part-02/路径下,和创建它的test.py在一个路径中。结果file.txt这个文件却在/Python_Work路径下面(/Python_Work/file.txt),而不是我所期望的路径下面。所以应该怎么配置,或者安装什么插件,能让py创建的文件在自己的相对路径下,而不是直接跑到了工作路径那里?这种情况在Pycharm下是不存在的。
原因:这不是由VS Code造成的,是Python插件的锅,本质上是命令行差异造成。区别就在于Pycharm是会先cd到文件目录后运行,VS Code的Python插件是直接绝对路径运行。
同样的情况发生在读文件时 。
如何解决:
- 在运行时,注意增加一个路径,上面的代码改成:
with open(os.path.join(sys.path[0], 'file.txt'), 'w') as f:
f.write('HelloWorld')
需要导入import sys,同时在读写的路径上加上sys.path[0]。
- 直接修改
VS Code中的Python插件。找到这个安装的插件,点击它的设置。
找到Python>Terminal: Execute In File Dir,这次不要用到sys.path,直接运行解决。

欢迎关注公众号:极地语音工作室;
优快云博客:https://blog.youkuaiyun.com/shaopengfei
5538

被折叠的 条评论
为什么被折叠?



