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)