pythonファイル "hello.py"をサブプロセスでpythonインタープリターと呼びます。しかし、このエラーを解決できません。[Python 3.4.1]。
import subprocess
subprocess.call(['hello.py', 'htmlfilename.htm'])
Traceback (most recent call last):
File "<pyshell#42>", line 1, in <module>
subprocess.call(['hello.py', 'htmlfilename.htm'])
File "C:\Python34\lib\subprocess.py", line 537, in call
with Popen(*popenargs, **kwargs) as p:
File "C:\Python34\lib\subprocess.py", line 858, in __init__
restore_signals, start_new_session)
File "C:\Python34\lib\subprocess.py", line 1111, in _execute_child
startupinfo)
OSError: [WinError 193] %1 is not a valid Win32 application
また、サブプロセスを使用する以外に、「pythonスクリプトを引数付きで呼び出す」別の方法がありますか?事前に感謝します。
エラーはかなり明確です。ファイル hello.py
は実行可能ファイルではありません。実行可能ファイルを指定する必要があります。
subprocess.call(['python.exe', 'hello.py', 'htmlfilename.htm'])
あなたは必要になるでしょう python.exe
を検索パスに表示するか、呼び出し元のスクリプトを実行している実行可能ファイルにフルパスを渡すことができます。
import sys
subprocess.call([sys.executable, 'hello.py', 'htmlfilename.htm'])
Pythonインストーラーは通常、.pyファイルをシステムに登録します。シェルを明示的に実行すると、動作します:
import subprocess
subprocess.call(['hello.py', 'htmlfilename.htm'], Shell=True)
# --- or ----
subprocess.call('hello.py htmlfilename.htm', Shell=True)
コマンドラインでファイルの関連付けを確認できます
C:\>assoc .py
.py=Python.File
C:\>ftype Python.File
Python.File="C:\Python27\python.exe" "%1" %*
Shell=True
でsubprocess.call
を使用するのを忘れていたときに、同じエラーが発生しました。
subprocess.call('python modify_depth_images.py', Shell=True)
Os.system()を使用するなど、外部コマンドと対話せずに外部コマンドを実行するには、call()関数を使用します。
サブプロセスのインポート
単純なコマンドsubprocess.call(['ls'、 '-1']、Shell = True)
OSError:[WinError 193]%1は有効なWin32アプリケーションではありません
このエラーは、おそらく次の行によるものですimport subprocess
私は同じ問題を抱えていて、アンインストールして再インストールすることで解決しましたpython and anaconda then jupyterを使用してpip install numpyサイトパッケージを削除すると、サイトパッケージフォルダーが削除され、エラーが消えました。実際には、サイトパッケージ用に2つのフォルダーがあり、1つはanacondaとアプリデータのどこかに問題がありました。そのサイトパッケージフォルダーは、anacondaにあったサイトパッケージフォルダーからライブラリを自動的に取得し始めたため、問題は解決しました。