如何创建代表Windows路径的字符串?我还需要添加一个动态生成的文件到路径的末尾。我尝试过使用原始字符串,但我似乎无法弄明白。这就是我想要实现的目标:
filename = "test.txt"
path = 'C:\Path\To\Folder\' + filename
我看到的错误是:SyntaxError:扫描字符串文字时的EOL
很抱歉,如果在我尝试查看其他一些SO问题之前已经问过这个问题,并且每个人都建议使用os.path.join但问题是我需要构建一个字符串,这个代码不会在windows上运行机器......这有所不同吗?任何帮助将不胜感激!
答案 0 :(得分:3)
您有一个字符串文字,而不是原始字符串。原始字符串是一个字符串文字,前面有r
:
path = r'C:\Path\To\Folder\' + filename
修改:实际上是that doesn't work因为原始字符串不能以反斜杠结尾。如果您仍想使用原始字符串,则可以执行以下操作之一:
path = r'C:\Path\To\Folder' + '\\' + filename
path = r'C:\Path\To\Folder\{}'.format(filename)
你也可以加倍反斜杠:
path = 'C:\\Path\\To\\Folder\\' + filename
你的工作没有用,因为反斜杠是一个特殊字符。例如,\n
不是反斜杠而是n
;这是一个新的路线。 \'
表示将'
视为文字字符而不是使其结束字符串。这意味着字符串不会在那里结束,但你也不会在后面的行中结束它。因此,当Python到达行尾并且您仍然无法关闭字符串时,它会出错。不过,最好使用os.path.join()
:
path = os.path.join(r'C:\Path\To\Folder', filename)
答案 1 :(得分:0)
filename = "test.txt"
path = os.path.join(r'C:\Path\To\Folder',filename)
虽然使用/
作为任何操作系统上的文件分隔符,但python工作正常