python SyntaxError: EOL while scanning string literal,

來源:互聯網
上載者:User

python SyntaxError: EOL while scanning string literal,

錯誤原因是,字串以 \ 結尾 或者字串缺少引號。

寫代碼拼接windows 路徑出現這個錯誤, 查資料才知道 python中字串不能以 \ 結尾

My Code如下

import osdirname = "test"

path = r'C:\Users\panda\Desktop\建立檔案夾\' + dirname

 

運行則報錯

  File "test.py", line 3    path = r'C:\Users\panda\Desktop\建立檔案夾\' + dirname                                                    ^SyntaxError: EOL while scanning string literal

 

那麼如何解決呢

方法一 : 使用 os.path.join

path = os.path.join(r'C:\Users\panda\Desktop\建立檔案夾', dirname)

 

方法二:路徑的反斜線使用轉義 而不用 r

path = 'C:\\Users\\panda\\Desktop\\建立檔案夾\\' + dirname

 

為何 字串不能 以 \ (反斜線) 結束呢

因為 反斜線有別的用處。 python中一個完整的字串太長的時候,一行寫不下想換行,但又要維持它是一個字串的時候 可以用 反斜線來換行,所以反斜線後面不能立即接上字串結束的引號。 

下面用 REPL示範

 

 

參考資料:

SyntaxError: EOL while scanning string literal的解決 - CSDN部落格

python: SyntaxError: EOL while scanning string literal - Stack Overflow

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.