1 votos

Conversión de argumentos de cmd a python

Estoy tratando de configurar un hipervínculo en ArcMap que abra un archivo específico en un programa que hemos desarrollado.

Utilizando el cmd C:>" C:\Program Archivos \program.exe " archivo en windows funciona bien, pero ¿cómo traduzco esto en python script abriendo el cmd prompt y luego ejecutando el comando?

1voto

Hameno Puntos 129

Utilizando un complemento de python o una herramienta script se podría utilizar el os.startfile() o subprocess.Popen() para apuntar a su archivo y abrirlo o puede utilizar el método subprocess.call([app, input_command]) para ejecutar un comando determinado en una aplicación.

Es posible que tenga que configurarlo primero en Windows como la aplicación predeterminada para abrir esa extensión de archivo en particular (haga clic con el botón derecho del ratón en el archivo en el ordenador, seleccione la opción Abrir con> Elegir programa predeterminado, y luego busque el .exe).

0voto

ben Puntos 151

Esta es la solución que he aplicado con éxito. Tenía dos variables en la tabla de clases de características que definían el archivo que quería que el programa abriera. Vaya a Propiedades de la capa - Visualización y seleccione Hipervínculos - script. El hipervínculo ESRI script tiene el siguiente aspecto:

import subprocess
program = 'C:/Program Files/your program.exe'    #program you want to use to open the files
def OpenLink ( [Region], [Transect_ID] ):        #defines the variables
  region = [Region]                              #set the first variable you will call
  transect = [Transect_ID]                       #set the second variable you will call
  subprocess.call([program, region, transect])    
  return

Sustituya subproceso.call por subproceso.Popen si desea abrir el programa como una tarea independiente (recomendado).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X