[vscode] os.getcwd(),調試和命令行運行的結果不一致


問題描述:

調試和命令行運行的時候工作目錄不一致

這會導致一個問題,我想從上級目錄導入模塊的話,F5調試就會找不到模塊,而命令行則沒問題

那么我該如何調試呢?

目錄結構:

top
  └ folder_a
      └ folder_b
           └ b.py

測試代碼:

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.改寫代碼

import os,sys
os.chdir('./folder_a/folder_b') #F5調試的時候執行(命令行會報錯),正式環境注釋掉
dr = os.getcwd()
print(dr)

3.vscode里單獨為folder_b創建一個workspace

4.以上都是我瞎想的,應該還有更簡單的方法。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM