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)

 

posted @ 2022-03-04 16:02  _Ackerman  阅读(1209)  评论(0编辑  收藏  举报