Python加载txt文件时路径\202部分丢失触发OSError如何解决
问题根因
你遇到的路径字符丢失问题是Python字符串转义规则导致的:普通字符串中反斜杠\是转义标识,\202会被识别为八进制编码的转义序列,自动转换为特殊字符,所以最终拼接的路径里丢失了202片段,出现乱码。同目录下Test.txt可以正常加载,是因为它的路径中不存在\加数字这种符合转义规则的组合,没有触发转义逻辑。
无需修改文件名的解决方案
下面的方案仅需修改代码,不需要改动现有文件命名:
- 方案1(最简便):用原始字符串定义路径,在路径字符串前加
r标识,即可关闭转义逻辑:
Daten_Pfad = r"\Cu\20211124_16_37_Cu-St_CV_Hepes+Rh_pH8.txt"
- 方案2:把路径中的反斜杠全部替换为正斜杠
/,Python在Windows系统也可正常识别正斜杠作为路径分隔符,不会触发转义:
Daten_Pfad = "/Cu/20211124_16_37_Cu-St_CV_Hepes+Rh_pH8.txt"
- 方案3:对反斜杠做转义处理,用两个反斜杠
\\表示一个普通的反斜杠字符:
Daten_Pfad = "\\Cu\\20211124_16_37_Cu-St_CV_Hepes+Rh_pH8.txt"
- 方案4(规范通用,兼容多系统):使用
os.path.join拼接路径,不需要手动写路径分隔符,从根源避免转义问题:
# 直接拆分路径片段传入即可,不需要自己加分隔符 data_file = os.path.join(Uebergeord_Pfad, "Cu", "20211124_16_37_Cu-St_CV_Hepes+Rh_pH8.txt")
内容的提问来源于stack exchange,提问作者blooddiamant
相关产品推荐
相关产品推荐

