次のように入力してコマンドラインで実行することになっているpythonファイルxxxxxx.pyをダウンロードしましたpython xxxxxx.py filename1 filename2
。これは、これら2つのファイルを引数として受け取る必要があります。
IDLE を使用してこれらの引数を渡す方法があるかどうか疑問に思っていました。設定以外の方法はありますsys.argv
か?
ありがとう
次のように入力してコマンドラインで実行することになっているpythonファイルxxxxxx.pyをダウンロードしましたpython xxxxxx.py filename1 filename2
。これは、これら2つのファイルを引数として受け取る必要があります。
IDLE を使用してこれらの引数を渡す方法があるかどうか疑問に思っていました。設定以外の方法はありますsys.argv
か?
ありがとう
Python ファイルの内容によって異なります。よく書かれている場合は、次のようになります。
#! /usr/bin/env python
def process(files):
for file in files:
# ...
if __name__ == '__main__'
# some error checking on sys.argv
process(sys.argv[1:])
sys.exit(0)
次に、python ファイルをインポートして、次のように実行するだけです。
import name_of_file
# ...
name_of_file.process([file1, file2, file3])
# ...
だから、それは本当にそれがどのように書かれているかに依存します。うまく書かれていないが編集できる場合は、ライブラリとして使用できるようにリファクタリングします。それ以外の場合は、subprocess モジュールを使用してプログラムを呼び出します。
これは、コマンドラインから次のように実行できます。
idle.py -r scriptname.py ここに引数を入れます
ActivePython のような別の IDE を試すことができます
または、IDLE にパッチを適用できます。