問題描述:
調試和命令行運行的時候工做目錄不一致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