Python 使用if-else命令程序执行一个或另一个操作序列

Python 使用if-else命令程序执行一个或另一个操作序列,python,model,arcgis,arcpy,Python,Model,Arcgis,Arcpy,我是Python的初学者。实际上,我正在使用arcpy与ArcGIS和Model Builder进行研究 如果我需要模型检查文件的扩展名(它是.shp或.gpx)并让模型运行一个地理处理序列或另一个序列,脚本会是什么样子?我正在尝试键入if-else代码并找到一种方法,但目前为止运气不佳 你也可以阅读,在那里我得到的帮助太少,无法继续 我还发现了一段简短代码的主题部分,如下所示: from glob import glob... for files in glob('path/*.mp3'):

我是Python的初学者。实际上,我正在使用arcpy与ArcGIS和Model Builder进行研究

如果我需要模型检查文件的扩展名(它是.shp或.gpx)并让模型运行一个地理处理序列或另一个序列,脚本会是什么样子?我正在尝试键入
if
-
else
代码并找到一种方法,但目前为止运气不佳

你也可以阅读,在那里我得到的帮助太少,无法继续

我还发现了一段简短代码的主题部分,如下所示:

from glob import glob...
for files in glob('path/*.mp3'): 
  do something
for files in glob('path/*.flac'): 
  do something else
extension = file.split(".")[-1]

if extension == "shp":
  # do shp stuff
elif extension == "gpx":
  # do gpx stuff
else:
  raise ValueError("Only files with the extension '.gpx' or '.shp` can be handled")
需要帮忙吗?完整的代码是什么样子的


提前多谢了,我真的受不了了

一个简单的
if。。elif…
似乎正是您所需要的(而且可能已经尝试过了)。您的代码可能如下所示:

from glob import glob...
for files in glob('path/*.mp3'): 
  do something
for files in glob('path/*.flac'): 
  do something else
extension = file.split(".")[-1]

if extension == "shp":
  # do shp stuff
elif extension == "gpx":
  # do gpx stuff
else:
  raise ValueError("Only files with the extension '.gpx' or '.shp` can be handled")

如果将
.mp3
.flac
更改为
.shp
.gpx
,应该可以这样做,这让我很困惑,因为现在我不明白您的实际问题是什么:)是的,正确,我没有更改示例中的文件扩展名以匹配我的问题。然而,我的问题有点不同。。。我应该在“做点什么”一行写什么?如何告诉模型我需要它来进行某种地质处理序列?你能举个例子吗?例如,我需要它说,如果它的.shp文件,则运行“按位置选择图层”,并将此文件连接到“添加曲面信息”工具。那么我该如何用python编写它呢?谢谢,是的,这正是我正在尝试的。但是我不知道如何在if和elif之后编写脚本?就像你写的#做shp的东西。。。那么你能举一个例子,可以写些什么吗?如何订购模型以使用具体的模型工具?我从来没有在编程中使用模型生成器。。。