[問題] 獲取.py檔路徑的方法差異(1000p)

作者: znmkhxrw (QQ)   2018-05-03 18:33:38
請問一下,下面這兩種獲取當前路徑的寫法
PATH_1 = os.getcwd().replace('\\','/')+'/log'
PATH_2 = './log'
這兩個path的差別是?
詳細請看我下面的過程,謝謝!
作者: FakeGPS (一次就上手)   2018-05-03 20:26:00
感覺是目前的位置跑掉了 所以用絕對路徑才能確保無誤
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-05-03 21:16:00
養成習慣,都用絕對路徑就沒問題路徑的組合不要直接+ 都用os.path.join或是py3的pathlib這樣linux windows都能夠正確執行
作者: st1009 (前端攻城師)   2018-05-03 22:07:00
你的問題漂亮到讓我以為是教學文(大推
作者: coeric ( )   2018-05-03 23:51:00
回Sunal 我自己有點懶的用os.path.join不管是Linux 或是windows 一律用 /
作者: TitanEric (泰坦)   2018-05-04 00:42:00
如果要用py檔路徑的話 可以用__file__搭配os.path.join這樣就不會錯~
作者: cphe (魔鬼藏在垃圾筒裡)   2018-05-04 09:51:00
PATH1是絕對路徑,PATH2是指當下.py的路徑,沒加./應該也行運行失敗的error msg是什麼?. 在windows就是指當下path,在cmd下打dir最前面就是 .在linux有些情況你必須指明用./xxx 例如它是個執行檔不過你遇到的狀況不確定是為什麼…
作者: Sunal (SSSSSSSSSSSSSSSSSSSSSSS)   2018-05-04 11:24:00
os.getcwd() 是絕對路徑哦
作者: anticrime (黑熊)   2018-05-04 13:24:00
我理解是在路徑敘述中 單純"."是當下資料夾 ".."上一層資料夾 然後/是當分段看 所以./就會是當前路徑往下跑

Links booklink

Contact Us: admin [ a t ] ucptt.com