使 Python 字符串成为原始字符串

Make Python string a raw string

我有以下代码:

#!/usr/bin/python

import os
from sys import exit as EXIT


File = os.path.realpath(__file__)
dir = os.path.dirname(File)
os.chdir(dir)
path_file = os.path.join(dir,"path.txt")
filo = open(path_file)
lines = filo.readlines()

if len(lines) == 1:
    path = lines[0]
else:
    raw_input("Too many lines... ")
    EXIT()

FILE = open(path)

当我 运行 它时,我得到错误:

Traceback (most recent call last):
  File "py/Zebra/zebra.py", line 20, in <module>
    FILE = open(path)
IOError: [Errno 2] No such file or directory: 'C:\Users\user\file.txt'

如果路径是硬编码的,那么我可以做类似的事情 路径 = r"C:\path\to\file"

但由于变量是通过其他方法定义的,我现在不确定是否要修复此问题:(

r' '背后的想法是写raw string literals,因为它改变了python转义字符的方式。如果它恰好是一个变量的值,正如你上面所说的,你不需要使用 r' ' 因为你没有明确地写一个字符串文字。

不管怎样,我认为这样就可以了:

path = r'%s' % pathToFile

编辑: 另外,正如对问题的评论,你真的应该确定路径存在。