调试和命令行运行的时候工作目录不一致
这会导致一个问题,我想从上级目录导入模块的话,F5调试就会找不到模块,而命令行则没问题
那么我该如何调试呢?
top
└ folder_a
└ folder_b
└ b.py
import os dr = os.getcwd() print(dr)
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.改写代码
import os,sys os.chdir(‘./folder_a/folder_b‘) #F5调试的时候执行(命令行会报错),正式环境注释掉 dr = os.getcwd() print(dr)
3.vscode里单独为folder_b创建一个workspace
4.以上都是我瞎想的,应该还有更简单的方法。。。
[vscode] os.getcwd(),调试和命令行运行的结果不一致
原文:https://www.cnblogs.com/remly/p/11531095.html