0

コンピューターから.exeファイルを実行するスクリプトを作成しようとしています。間違ったコマンドを使用していると思います。のような他のすべてのコマンドを試しましimport os, os.startfileたが、機能していません。

これが私のコードです:

loop=0
while loop==0:
    answer=raw_input("coded by: Narralol\n\n"
    "Pick a task:\n"
    "1) Start Minecraft.exe\n"
    "2) Start Minecraft_Server.jar\n"
    "3) Backup your server\n"
    "4) Copy the backup to your desktop\n"
    "5) Exit\n")
    if answer==1:
        execfile('D:\Games\Minecraft\Minecraft.exe')
    elif answer==2:
        execfile('D:\Games\Minecraft\Minecraft_server.jar')
    elif answer==5:
        loop=1
4

2 に答える 2

3

subprocessモジュールを使用して外部コマンドを実行します。

import subprocess

    subprocess.call('D:\Games\Minecraft\Minecraft.exe')
于 2012-09-21T21:31:57.357 に答える
1

このようにos.system()を使用できます(注:通常、subprocessこのようなことを行うには使用する方が良いです):

answer = 0
while answer < 5:
    answer = int(raw_input("coded by: Narralol\n\n"
    "Pick a task:\n"
    "1) Start Minecraft.exe\n"
    "2) Start Minecraft_Server.jar\n"
    "3) Backup your server\n"
    "4) Copy the backup to your desktop\n"
    "5) Exit\n").strip())
    if answer == 1:
        os.system('D:\Games\Minecraft\Minecraft.exe')
    elif answer == 2:
        os.system('D:\Games\Minecraft\Minecraft_server.jar')
    elif answer == 5:
        break

(intに対する文字列の代わりに)別のintに対してintをチェックするなど、コード内の他のいくつかのマイナーな点を変更しました。

于 2012-09-21T21:35:50.897 に答える