0

Sphinx を使用して Python スクリプトのコマンド ライン入力を文書化する方法はありますか? 関数またはメソッドの入力を文書化できますが、スクリプトの入力を文書化する方法がわかりません。.. automodule:: scriptLDOnServerソースファイルにscriptLDOnServerが私のpythonスクリプト(私のメインに対応する)である行を追加することにより、関数に使用するのと同じ構文に従おうとしています。

問題は、次のようなエラーが発生することです。

__import__(self.modname)
File "/home/ubuntu/SVNBioinfo/trunk/Code/LD/scriptLDOnServer.py", line 10, in <module>
    genotype_filename=sys.argv[7];
IndexError: list index out of range

Sphinx はコマンド ライン入力を取得しようとしているようですが、ソース ファイルには入力がないため、インポートは失敗します。これを解決する方法はありますか?モジュールの代わりにスクリプトのソースで別のコマンドを使用する必要がありますか?

あまり明確でなくて申し訳ありませんが、問題を説明するのは難しいです。

4

1 に答える 1

1

sys.argv[7] インポート時にアクセスしようとしているため、ファイルのインポート中に失敗しています。これはあなたがすべきことではありません。失敗する可能性があるそのようなコードif __name__ == '__main__':は、コードがインポートされたときに実行されないように、ブロックまたは関数内にある必要があります。

これは一般的に成り立ちます。インポートに失敗するコードや、インポートされることによる副作用のあるコードを絶対に*記述しないでください

※条件あり。ただし、このルールを破る前に、かなりの正当な理由が必要です。

于 2012-05-08T08:57:24.880 に答える