私は多くのスクリプトが最終的にインポートする必要があるのpythonモジュールを作成する必要があります。カスタムPythonモジュールをインポートしています..なぜ、いくつかの要素だけが引き継ぎますか?
- カスタムフォーマットと一定の引数を設定するために解析する(つまり、私の冗長とargsを助ける、とスクリプト間で一貫/すべてが視覚的に満足)をarg
私のカスタムモジュールは現在独立して動作していますが、今は進んでいますが、別のスクリプトに正しくインポートできないようです。 THATモジュールは、問題のない単純な変数定数を定義する別のモジュール(ver.py)をインポートします(バージョンコードは1つの場所にしか存在しません)。しかし、そのファイルを別のファイル(myexecutable.pyなど)にインポートして、追加の引数を解析するコードを追加しようとすると失敗します。また、私は現在作業しているすべてのファイルを含むdirに_ _init__.pyを持っています。
このコードは非常に変更されており、「部分的に動作しています」状態に戻すことはできませんが、エラーは発生しません。注目すべきは
#!/usr/bin/env python
import argparse
import par as pp ##par.py is my working parsing code
pp.preq.add_argument('input', metavar=" INPUT.ext", type=argparse.FileType('rt'))
pp.preq.add_argument('output', metavar=" OUTPUT.ext", type=argparse.FileType('wt'))
を、私は実行ファイルではなく、インポートされたファイルの「説明」と「使い方」を定義するために期待しています:ここでは、エラーを投げていないものです。ここでインポートされたファイル(par.py)が持っているもののサブセットです:
class USAGEformat(argparse.RawTextHelpFormatter):
def add_usage(self, usage, actions, groups, prefix=None):
if prefix is None:
prefix = 'nameconstant '+v.VERSION+'\n\nUSAGE: '+prog
super(USAGEformat, self).add_usage(usage, actions, groups, prefix)
parse = argparse.ArgumentParser(add_help=False, formatter_class=USAGEformat)
preq = parse.add_argument_group("___________________\n++ COMPULSORY ARGS")
私はArgumentParserと、より何を追加しようとすると、それは私のUSAGEformatクラスを認識しません。ある時点で、スクリプトを部分的に認識し、定義された使用法を使用しましたが、定義された記述や強制的な引数は使用しませんでした。彼らは単純であるとき、インポートするときに、なぜ私の変数のみが働いている..私はかかわらず、何をしたか
を把握することはできません:
VERSION = "v1.0"
ではなく、彼らはより複雑であるとき、そしてなぜ私のクラスでは携帯していませんいずれにしても?私は、この仕組みが何であるかを理解していないと思っています。私はチュートリアル/ Googleで自分自身にこの言語を教えてきました。なぜなら私はコンピュータ科学者ではないから、いくつかの方向性は非常に高く評価されるはずです。
あなたのコードを投稿するポイントが常にあります。あまりにも厄介な場合は、それをきれいにしてください。 [mcve]を投稿してください。 'version'がインポート可能だが' parser'はそうでない理由はありません。コードを見ずに間違いが何であるかを知ることは不可能です。 –
ちょっと@SSS実際の痛みポイントを投稿すると役に立つでしょう:どのようにあなたがインポートしたいものを宣言し、どのようにそれらをインポートしています。 –
@Rawingよく私の意図は主に何らかの方向性を得ることだったので、編集する前にコードを投稿する前に知っておくべきことがあるかどうかを知っています。私は自分自身を混乱させ、私のコードをもっと知識がなくても必然的ではないものに戻す価値があります。しかし、それは役に立つスタートです。私のコードを修正して追加する前に、フォローアップの質問をしてください。私が気づかないかもしれないモジュールのインポートに関する基礎的な概念はありますか? – SSS