2017-05-01 106 views
-2

我寫了一個python腳本,我需要讀取和寫入文件。我首先在Windows上編寫它,當我嘗試使用相同的Python Shell(Spyder)在Ubuntu(Linux)上執行相同的代碼時,我收到了此消息錯誤「沒有這樣的文件或目錄:」data.csv「。我有很多嘗試去解決這個問題,最後,我發現我需要在代碼裏面用'//'來代替所有的'\'。所以,現在一切正常,但是爲什麼!?與Windows上的Spyder相比,爲什麼在Ubuntu上Spyder的「//」而不是「\」?

+0

可能重複[爲什麼在這個代碼中有那麼多「\」...它有什麼用法?](http://stackoverflow.com/questions/9109879/why-so-many- s-there-in-this-code-what-is-the-use-of-it) – MackM

+0

@Mack這是一個完全不同的反斜槓用法。 – zondo

回答

5

由於Windows使用反斜線作爲目錄分隔符,和POSIX系統(包括Linux)使用向前斜線見os.sep constant:。

所使用的操作系統的路徑名組分分離的字符這是'/'對POSIX和Windows的'\\'

總是使用os.path模塊構造路徑;它會照顧平臺的差異。

+0

'pathlib'是處理跨平臺代碼路徑的另一種選擇 - 特別是在3.6+版本中,在標準庫中有更好的支持。 – eryksun