2016-07-21 12 views
-1

私はPython 3インタプリタの内部で作業しています。python3インタプリタの中からスクリプトを実行し、インタプリタの結果を表示

最初、私は図書館がmylibrary.py

from math import pi 
def area_circle(r): 
    return(r*r*pi)) 

このような第二に呼ばれてきた、私は今、この

from mylibrary import * 
area_circle(3) 
area_circle(5) 
area_circle(3) + area_circle(5) 

ようhomework.pyというスクリプトを持って、私はPythonインタプリタを入力して、何とか実行したいですスクリプトhomework.pyのように、これらの行をインタプリタに直接入力したかのようにして、インタープリタが通常表示するように結果を画面に表示します。 BASHプロンプトから

$python3 

Python 3.4.3 (default, Oct 14 2015, 20:28:29) 
[GCC 4.8.4] on linux 
Type "help", "copyright", "credits" or "license" for more information. 

>>> exec "homework" 

は、そのようなコマンドはありますか?

>>> from mylibrary import * 
>>> area_circle(3) 
28.274333882308138 
>>> area_circle(5) 
78.53981633974483 
>>> area_circle(3) + area_circle(5) 
106.81415022205297 

私はちょうど持って、私はiPythonを持っていない、私はIdleを持っていないことに注意してください:私はそれが私のスクリプトを読んで、何が次の画面に表示されているように、インタプリタに行を入力します私はBASHプロンプトからアクセスするインタプリタです。

私は、明示的に印刷機能を呼び出すために、ライブラリ内の関数を置き換え、このような何かができることを知っている:

def area_circle(r): 
    a=r*r*pi 
    print(a) 
    return() 

しかし、それは、この機能を使用してから私を妨げるように私は、それを望んでいません将来の機能のビルディングブロックとして。
私は、homeworkスクリプトをインタプリタに一行一行ずつ、できるだけ簡単に実行する方法を尋ねています。

+0

bashから 'homework.py'を実行するには、ファイル名をインタプリタ' python3 homework.py'に渡します。 – vaultah

+0

この答えは結果を出力しません – Tim

+0

あなたのコードを実行した後にインタラクティブなpythonに行きたい場合、 '-i'オプション' python3 -i homework.py'を使うことができます。あなたのコードを実行し、次に変数を調べるために '' >> ''プロンプトを出します。 – cdarke

答えて

0

あなたはPythonのプロンプトを使用していない場合は、「T 『印刷』を使用せずにコンテンツを表示することができます....

あなたは第二引数が指定されている場合、それは印刷して、あなたの関数を変更し、doesnのことができますそれ以外の場合は「トンの印刷:この機能は、すべての場合には面積を返します

def area_circle(r, do_print=False): 
    a=r*r*pi 
    if do_print: 
     print(a) 
    return a 

あなたは(2番目の引数としてそれをarea_circle(3)印刷物の何もTrueを与えないと面積を返した場合それはまたarea_circle(3,True)プリントながら、その値を出力します。その領域を返し、その値も返します)

関連する問題