[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

相關文章
相關標籤/搜索