python命令提示符窗口下如何运行python脚本解析

  

python命令提示符窗口下如何运行python脚本解析?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

方式一:脚本中指定好相关参数设置

 python命令提示符窗口下如何运行python脚本解析

进口arcpy
  进口json
  导入系统
  进口操作系统
  进口argparse
  进口再保险
  
  结果=?“
  jsontext={& # 39;成功# 39;:{},& # 39;味精# 39;:& # 39;& # 39;}
  
  
  def checkSavedAprxDatasource (output_aprx_path mapName targetDb):
  check_result=True
  desc=arcpy.Describe (targetDb)
  
  saved_aprx=arcpy.mp.ArcGISProject (output_aprx_path)
  在saved_aprx.listMaps saved_map ():
  如果saved_map.name==mapName:
  在saved_map.listLayers层():
  如果lyr.isFeatureLayer:
  #打印(lyr.connectionProperties)
  如果lyr.connectionProperties [& # 39; workspace_factory& # 39;] .upper ()==& # 39; sde # 39; .upper (
  )和lyr.connectionProperties [& # 39; connection_info& # 39;][& # 39;实例# 39;]==desc.connectionProperties.instance:
  通过
  其他:
  check_result=False
  
  返回check_result
  
  
  if __name__==& # 39; __main__ # 39;:
  试一试:
  
  # linux
  # aprxPath=str (sys.argv [1])
  # mapName=str (sys.argv [2])
  # sourceDb=str (sys.argv [3])
  # targetDb=str (sys.argv [4])
  # output_aprx_path=str (sys.argv [5])
  
  #本地pc
  aprxPath=" # 39; D: \ rvt \ testaprx \ testaprx.aprx& # 39;
  mapName=& # 39;地图# 39;
  sourceDb=" # 39; D: \ rvt \ testaprx \ Data.gdb& # 39;
  targetDb=" # 39; D: \ rvt \ testaprx \ testsde.sde& # 39;
  output_aprx_path=" # 39; D: \ rvt \ testaprx \ \输出export5.aprx& # 39;
  
  约计=arcpy.mp.ArcGISProject (aprxPath)
  在aprx.listMaps m ():
  如果m.name==mapName:
  m。updateConnectionProperties (sourceDb targetDb)
  
  如果os.path.exists (output_aprx_path):
  os.remove (output_aprx_path)
  aprx.saveACopy (output_aprx_path)
  
  checkResult=checkSavedAprxDatasource (
  output_aprx_path、mapName targetDb)
  如果checkResult:
  jsontext[& # 39;成功# 39;]=True
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)
  其他:
  jsontext[& # 39;成功# 39;]=False
  jsontext[& # 39;味精# 39;]=& # 39;未能取代数据来源# 39;
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)
  
  除了例外e:
  jsontext[& # 39;成功# 39;]=False
  jsontext[& # 39;味精# 39;]=e.args
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)

方式二:使用系统。argv[]的形式设置相关参数

(arcgispro-py3) D: \ rvt \ testaprx> python测试。py D: \ rvt \ testaprx \ testaprx。近似图D: \ rvt \ testaprx \数据。gdb D: \ rvt \ testaprx \ testsde。sde D: \ rvt \ testaprx \ \ export5输出。约计

 python命令提示符窗口下如何运行python脚本解析

进口arcpy
  进口json
  导入系统
  进口操作系统
  进口argparse
  进口再保险
  
  结果=?“
  jsontext={& # 39;成功# 39;:{},& # 39;味精# 39;:& # 39;& # 39;}
  
  
  def checkSavedAprxDatasource (output_aprx_path mapName targetDb):
  check_result=True
  desc=arcpy.Describe (targetDb)
  
  
  saved_aprx=arcpy.mp.ArcGISProject (output_aprx_path)
  在saved_aprx.listMaps saved_map ():
  如果saved_map.name==mapName:
  在saved_map.listLayers层():
  如果lyr.isFeatureLayer:
  #打印(lyr.connectionProperties)
  如果lyr.connectionProperties [& # 39; workspace_factory& # 39;] .upper ()==& # 39; sde # 39; .upper (
  )和lyr.connectionProperties [& # 39; connection_info& # 39;][& # 39;实例# 39;]==desc.connectionProperties.instance:
  通过
  其他:
  check_result=False
  
  返回check_result
  
  
  if __name__==& # 39; __main__ # 39;:
  试一试:
  
  # linux
  aprxPath=str (sys.argv [1])
  mapName=str (sys.argv [2])
  sourceDb=str (sys.argv [3])
  targetDb=str (sys.argv [4])
  output_aprx_path=str (sys.argv [5])
  print(“近似路径:“+ aprxPath)
  print(“地图视图的名称:“+ mapName)
  print(“当前的数据源路径:“+ sourceDb)
  print(“目标数据源路径:“+ targetDb)
  print(“近似另存为路径:“+ output_aprx_path)
  
  #本地pc
  # aprxPath=" # 39; D: \ rvt \ testaprx \ testaprx.aprx& # 39;
  # mapName=& # 39;地图# 39;
  # sourceDb=" # 39; D: \ rvt \ testaprx \ Data.gdb& # 39;
  # targetDb=" # 39; D: \ rvt \ testaprx \ testsde.sde& # 39;
  # output_aprx_path=" # 39; D: \ rvt \ testaprx \ \输出export5.aprx& # 39;
  
  约计=arcpy.mp.ArcGISProject (aprxPath)
  在aprx.listMaps m ():
  如果m.name==mapName:
  m。updateConnectionProperties (sourceDb targetDb)
  
  如果os.path.exists (output_aprx_path):
  os.remove (output_aprx_path)
  aprx.saveACopy (output_aprx_path)
  
  checkResult=checkSavedAprxDatasource (
  output_aprx_path、mapName targetDb)
  如果checkResult:
  jsontext[& # 39;成功# 39;]=True
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)
  其他:
  jsontext[& # 39;成功# 39;]=False
  jsontext[& # 39;味精# 39;]=& # 39;未能取代数据来源# 39;
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)
  
  除了例外e:
  jsontext[& # 39;成功# 39;]=False
  jsontext[& # 39;味精# 39;]=e.args
  结果=json.dumps (jsontext)
  sys.stdout.write(结果)

python命令提示符窗口下如何运行python脚本解析