Python 转换变量中的 Windows 文件路径

新手上路,请多包涵

给定的是一个包含 Windows 文件路径的变量。然后我必须去阅读这个文件。这里的问题是路径包含转义字符,我似乎无法摆脱它。我检查了 os.path 和 pathlib,但都已经期望正确的文本格式,我似乎无法构建。

比如这个。请注意 fPath 是给定的,所以我不能用 r 作为原始路径的前缀。

 #this is given, I cant rawpath it with r
fPath = "P:\python\t\temp.txt"

file = open(fPath, "r")
for line in file:
    print (line)

如何通过以下函数或方法转换 fPath:

 "P:\python\t\temp.txt"

"P:/python/t/temp.txt"

我也尝试过 .replace(”\”,“/”),但没有用。

我为此使用 Python 3.7。

原文由 RedBoxes 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

我已经解决了。

问题在于 python 解释器。 \t 和所有其他数据并不作为此类数据存在,而是对非打印字符的解释。

所以我有点幸运,其他人已经遇到了同样的问题并用硬蛮力方法解决了它:

http://code.activestate.com/recipes/65211/

我只需要找到它。

之后我有一个没有转义字符的原始字符串,只需要对其运行简单的 replace() 以获得可行的路径。

原文由 RedBoxes 发布,翻译遵循 CC BY-SA 4.0 许可协议

您可以使用 os.path.abspath() 进行转换:

 print(os.path.abspath("P:\python\t\temp.txt"))

>>> P:/python/t/temp.txt

此处查看 os.path 的文档

原文由 Nordle 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题