8

次のように入力してコマンドラインで実行することになっているpythonファイルxxxxxx.pyをダウンロードしましたpython xxxxxx.py filename1 filename2 。これは、これら2つのファイルを引数として受け取る必要があります。

IDLE を使用してこれらの引数を渡す方法があるかどうか疑問に思っていました。設定以外の方法はありますsys.argvか?

ありがとう

4

2 に答える 2

6

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 モジュールを使用してプログラムを呼び出します。

于 2011-02-02T00:23:36.383 に答える
4

これは、コマンドラインから次のように実行できます。

idle.py -r scriptname.py ここに引数を入れます

ActivePython のような別の IDE を試すことができます

または、IDLE にパッチを適用できます。

http://bugs.python.org/issue5680

于 2011-02-02T00:25:24.650 に答える