2017-09-07 75 views
0

你能看看這個片段,讓我知道如何在python中串連一個字符串中的變量嗎?在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") 
+0

如果您的問題得到了充分解答,您可以[接受](https://stackoverflow.com/help/someone-answers)最有幫助的答案。 –

回答

1

這是Python的字符串連接如何工作的:

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

謝謝Geek先生,但我在第二行發生錯誤! –

+0

@MonaCoder你應該逃避'\'並刪除'r',檢查更新後的答案。 –

3

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

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

此外,請注意您的反斜槓需要轉義。

+1

你不是混合方法嗎?不應該加入每個組件,例如os.path.join(*「C:\\ GIS \\ Maps \\」。split('\\')+ [「{} .mxd」.format(service)]'''是特定於操作系統的,os.path.join的意義在於加入使其與操作系統無關。 – Alexander

+0

@Alexander我是...很好的觀察和謝謝。 –