我有一个用于ArcGIS Desktop 10的ArcPy脚本,我正在执行多个功能。其中一个函数将与Map Document关联的所有图层复制到数据库。我想复制除以.sid
结尾的文件以外的所有文件。
以下是我的代码片段。我不希望在.sid
或datasetName
变量中使用dataSource
个扩展名。如何使下面更多的Pythonic,以便我不包含.sid
个文件。
for lyr in lyrList:
lyrName = lyr.name
SidData = " "
SidDataName= " "
if lyr.supports("dataSource"):
lyrDatasource = lyr.dataSource
lyrDataSetName = lyr.datasetName
if lyrDatasource.endswith(".sid"):
lyrDatasource == SidData
else:
pass
if lyrDataSetName.endswith(".sid"):
lyrDataSetName == SidDataName
else:
pass
答案 0 :(得分:1)
我不确定这是一个微不足道的问题还是我遗漏了一些东西。您只需使用not
关键字。
>>> foo = "file.sid"
>>> foo.endswith('.sid')
True
>>> not foo.endswith('sid')
False
所以它会是这样的:
if not datasetName.endswith('.sid'):
# Execute only if the file does NOT end with '.sid'
else:
# Execute if file ends with '.sid'