在Python中构建Windows文件的完整路径

时间:2016-04-12 00:12:15

标签: python

如何创建代表Windows路径的字符串?我还需要添加一个动态生成的文件到路径的末尾。我尝试过使用原始字符串,但我似乎无法弄明白。这就是我想要实现的目标:

filename = "test.txt"
path = 'C:\Path\To\Folder\' + filename

我看到的错误是:SyntaxError:扫描字符串文字时的EOL

很抱歉,如果在我尝试查看其他一些SO问题之前已经问过这个问题,并且每个人都建议使用os.path.join但问题是我需要构建一个字符串,这个代码不会在windows上运行机器......这有所不同吗?任何帮助将不胜感激!

2 个答案:

答案 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工作正常