[vscode] os.getcwd(),调试和命令行运行的结果不一致

问题描述:

调试和命令行运行的时候工做目录不一致python

这会致使一个问题,我想从上级目录导入模块的话,F5调试就会找不到模块,而命令行则没问题json

那么我该如何调试呢?测试

目录结构:

top
  └ folder_a
      └ folder_b
           └ b.pyspa

测试代码:

import os dr = os.getcwd() print(dr)

 

F5调试输出结果:

PS C:\Users\Administrator\Desktop\top> cd 'c:\Users\Administrator\Desktop\top'; ...(省略) C:\Users\Administrator\Desktop\top #能够看到输出的是顶层文件目录

 

命令行结果:

PS C:\Users\Administrator\Desktop\top\folder_a\folder_b> python b.py C:\Users\Administrator\Desktop\top\folder_a\folder_b #和期待值同样

 

解决方案

1.在vscode的debug设置里面(launch.json) 把路径写死,可是会形成调试其余路径下的程序找不到路径命令行

2.改写代码debug

import os,sys os.chdir('./folder_a/folder_b') #F5调试的时候执行(命令行会报错),正式环境注释掉
dr = os.getcwd() print(dr)

3.vscode里单独为folder_b建立一个workspace调试

4.以上都是我瞎想的,应该还有更简单的方法。。。code

相关文章
相关标签/搜索