Pregunta Ejecutando Stardew Valley de python en Windows


Actualmente estoy tratando de ejecutar Stardew Valley de Python haciendo esto:

import subprocess
subprocess.call(['cmd', 'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])

Sin embargo, esto falla y solo abre una ventana de CMD. Tengo una comprensión básica de cómo iniciar programas desde python, pero no entiendo cómo abrir específicamente un programa que se encuentra no solo en una ubicación diferente, sino también en una unidad diferente.

Cualquier ayuda sería apreciada. ¡Gracias!

Editar:

Esto es en Windows 10

La versión de Stardew Valley es la versión beta y se encuentra en la unidad D: / (Windows está en C: / por supuesto)


5
2018-06-14 01:01


origen


Respuestas:


¿Puedes intentar usar la línea de comando de vapor con la aplicación del juego?

subprocess.call(r"C:\Program Files (x86)\Steam\Steam.exe -applaunch 413150")

puede encontrar la identificación de la aplicación en la "pestaña del documento web" desde las propiedades de acceso directo del escritorio
(que se puede generar con un clic derecho y seleccionar crear acceso directo en el escritorio en la biblioteca de Steam). Será algo como esto steam: // rungameid / 413150


7
2018-06-16 15:12



No tienes que usar cmd, puedes comenzar el .exe directamente.

Además debes tener en cuenta que \ se utiliza para escapar de caracteres en cadenas de Python, pero no debe interpretarse especialmente en las rutas de Windows. Mejor uso de cadenas crudas prefijadas con r Para las rutas de Windows, que deshabilitan tales escapes:

import subprocess
subprocess.call([r'D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe'])

1
2018-06-14 01:22



Se puede utilizar de la siguiente manera:

import os
os.startfile("D:\SteamR\steamapps\common\Stardew Valley\Stardew Valley.exe")

Lo que hace esta pieza de código es, simplemente abre el archivo usando su programa predeterminado de Windows asignado.

Una desventaja de esta manera de comenzar es que no devolverá ningún objeto de proceso. Por lo tanto, para administrar el proceso, necesita usar paquetes win32 u otros.


0
2018-06-22 08:40