在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,直接运行解决。
欢迎关注公众号:极地语音工作室;
CSDN博客:https://blog.csdn.net/shaopengfei