亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

替換 os.getcwd() 中的斜杠“\”

替換 os.getcwd() 中的斜杠“\”

Go
白衣非少年 2023-06-20 13:59:54
我正在嘗試獲取當前工作目錄并將其添加到帶有os.getcwd. 因為 Windows 在目錄路徑中使用正斜杠,所以我需要將所有這些斜杠更改為反斜杠,以便它在 python 中工作。我試過的:import osold = getcwd()new = old.replace("\", "/")file_path = (new + "folder/filename")print(file_path以上是拋出錯誤SyntaxError: EOL while scanning string literal
查看完整描述

1 回答

?
開滿天機

TA貢獻1786條經驗 獲得超13個贊

因為windows在目錄路徑中使用了正斜杠


它不——它使用反斜杠(但它也接受正斜杠)。


無論操作系統如何,這都有效:1


import os


file_path = os.path.join(os.getcwd(), 'folder', 'filename')

# also works:

# file_path = os.path.join(os.getcwd(), 'folder/filename')

…但是你得到的特定錯誤是因為你試圖在 Python 字符串中使用未轉義的反斜杠。由于字符串中的反斜杠具有特殊含義,因此需要對其用法進行轉義:使用"\\"而不是"\". 但如上所述,這在這里無關緊要(99% 的時間在處理路徑時)。


1更簡潔的方法是 via pathlib,它使用正確類型的對象而不是字符串來編碼路徑:


import pathlib


file_path = pathlib.Path('.').absolute() / 'folder' / 'filename'


查看完整回答
反對 回復 2023-06-20
  • 1 回答
  • 0 關注
  • 355 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號