在python中连接字符串

时间:2017-09-07 20:38:04

标签: python string

请你看一下这个片段,让我知道如何在python中将字符串中的变量连接起来?

我想在service"Database Connections\\'service'.sde"

中传递(r"C:\GIS\Maps\'.+service+.'.mxd")
service ="Electric"
sde = "Database Connections\\'service'.sde"
mxd = arcpy.mapping.MapDocument(r"C:\GIS\Maps\'.+service+.'.mxd")

所以输出看起来像

sde = "Database Connections\\Electric.sde"
mxd = arcpy.mapping.MapDocument(r"C:\GIS\Maps\Electric.mxd")

3 个答案:

答案 0 :(得分:3)

我认为更好的方法是使用os.path.join

import os
mxd = arcpy.mapping.MapDocument(os.path.join(*"C:\\GIS\\Maps\\".split('\\') 
                                                    + ["{}.mxd".format(service)]))

另外,请注意您的反斜杠需要转义。

答案 1 :(得分:1)

这就是Python的字符串连接的工作原理:

sde = "Database Connections\\" + service + ".sde"
mxd = arcpy.mapping.MapDocument("C:\\GIS\\Maps\\" + service + ".mxd")

答案 2 :(得分:1)

绕过raw strings can't end with a single backslash

问题的另一种选择
r'C:\GIS\Maps\%s.mxd' % service

r'C:\GIS\Maps\{}.mxd'.format(service)

两者都工作正常,以字母串结尾的反斜杠来解决问题。