1

重複の可能性:
複数の Python ソース ファイルを単一のファイルに連結する方法は?

コマンドラインまたはTelnetセッションのインタープリターセッションでインラインで実行できるように、インポートを含む.pyモジュールを入力として受け取り、それを展開するPython「プリインタープリター」はありますか? 組み込みモジュールまたはインストール済みモジュールのインポートは保持しても問題ありませんが、プリインタープリターで独自のモジュールを展開したいと考えています。このようにして、モジュラー プログラミング手法を採用しながら、インストールを回避できます。たとえば、次の 2 つのモジュールを作成するとします。

myprint.py:

from math import pi
def print_pi():
    print "{0:6f}".format(pi)

main.py:

from myprint import print_pi
print_pi()

main.py でプリインタープリターを実行すると、出力は次のようになります。

from math import pi
def print_pi():
    print "{0:6f}".format(pi)

print_pi()

更新 2012 年 10 月 10 日 22:36 米国東部:

回答してくれた皆さん、ありがとう!私のプログラムのランタイム ホストは機関車に恒久的にインストールされており、そこから私のプログラムはそのコンピューターや他の多くの搭載システムにクエリを実行して監視します。このコンピューティング環境が安全でミッション クリティカルであることは正しく予測できます (したがって、私のチームの監視ソフトウェアが必要です)。このような環境にソフトウェアをインストールするには、特権が必要であり、リソースを消費し、システムに小さいながらも現実的なリスクを課します。したがって、変更管理委員会による承認を含め、インストールされるソフトウェアを精査するために、慎重ではあるが数週間かかるチェックが鉄道によって実装されています。これが私たちが計画していたルートです。しかし、このリスクを排除し、インストールなしで実行することで形式を減らすことができれば、少なくとも考慮すべき利点になる可能性があります. でも、非インストール要件によってアーキテクチャが制限されることは望ましくありません。つまり、プログラム全体を 1 つのモジュールに記述する必要はありません。あなたの答えから、私の考えは不可能のようです。

4

1 に答える 1

2

この例では、PythonのインポートがCマクロのようなものであると想定しています。そうではありません。Pythonのインポートは、はるかに強力で複雑です。したがって、数行のコードをコピーしてインポートを置き換えることはできません。答えは次のとおりです。そのようなプリプロセッサはありません。しかし、実際に解決したい問題をより詳細に指定すると、Pythonで問題を解決するのに役立つ場合があります。

于 2012-10-10T21:32:47.543 に答える