python 路徑被轉義問題


python中反斜杠 \ 的功能是轉義,例如:\n表示換行,\t 表示水平制表符,也就是tab鍵。在windows中 反斜杠 \ 也用來表示路徑分隔符。

Windows環境中,如果我們需要用python讀取文件路徑的時候就會出現問題了

 

解決方案:

# 這里提供兩種方式

# 采用雙斜杠的方式
path = "C:\\Users\\Administrator\\PycharmProjects\\ackermanProject\\"
file_name = "topo_information"

with open(path + file_name + '.txt', mode='r') as f:
    para = f.read()
    print(para)

# 采用字符串前加 r 的方式
path = r"C:\Users\Administrator\PycharmProjects\ackermanProject"
file_name = r"\topo_information"
with open(path + file_name + '.txt', mode='r') as f:
    para = f.read()
    print(para)

如果是在os.path.join()中生成的路徑,沒法顯示的用手改,可以配合split()str.join() 方法解決

import os

folder = r"C:\Users\Administrator\PycharmProjects\ackermanProject"
name = "topo_information.txt"
path = os.path.join(folder, name)
print("path:", path)

path2 = path.split("\\")
# path2 等價於 ['C:', 'Users', 'Administrator', 'PycharmProjects', 'ackermanProject']
path3 = "\\\\".join(path2)
with open(path3, mode='r') as f:
    print(f.read())
path4 = "/".join(path2)
print(path3)
print(path4)

 

其他問題可見:python 路徑被轉義問題 - 簡書 (jianshu.com)

 


免責聲明!

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



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