1

したがって、subprocess.call()を使用して問題が発生しているので、間違って呼び出している可能性があります。使ってます:

subprocess.call('testingosfile.py')

そして、私はトレースバックを取得します:

Traceback (most recent call last):
  File "<pyshell#14>", line 1, in <module>
    subprocess.call('testingosfile.py')
  File "C:\Python27\lib\subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python27\lib\subprocess.py", line 679, in __init__
    errread, errwrite)
  File "C:\Python27\lib\subprocess.py", line 893, in _execute_child
    startupinfo)
WindowsError: [Error 193] %1 is not a valid Win32 application

の内容testingosfile.pyは次のとおりです。

print "hello world!"
raw_input('....')

どうすればこれを実行できますか?

よろしくお願いします。

4

2 に答える 2

2

エラーメッセージは完全に理にかなっています-を使用するとsubprocess、実行可能ファイルのみを起動できます。したがって、これを修正するには、実行可能ファイルを起動する必要があります。具体的には、Pythonインタープリターを起動し、スクリプトを実行するように指示する必要があります。何かのようなもの

subprocess.call(['python.exe', 'testingosfile.py'])

Pythonインタープリターへのフルパスを提供する必要があるかもしれませんが、動作するはずです(現時点ではテストできません)。

testingosfile.pyただし、代わりにインポートを検討しましたか?Pythonスクリプトをインポートするたびに、そのスクリプト内のすべてのコマンドが実行されます。使用する

import testingosfile

コマンドを実行するための関数内のスタイルは貧弱ですが、の便利なコマンドをいくつかの関数にパッケージ化することができますtestingosfile.py。次に、あなたは使用することができます

import testingosfile

メインスクリプトの上部にあり、Hello Worldを印刷してユーザーの入力を取得するときはいつでも、その関数を呼び出すだけです。

于 2012-06-03T23:03:16.510 に答える
1

subprocess.call( "myfile.ext"、shell = True)を試してください

于 2013-09-26T23:41:28.713 に答える