2

というライブラリをインポートする必要がありfunctions.sageます。どうすればいいですか?私は試した:

__import__('functions.sage')

そしてこれも:

import imp
imp.load_source('fun', 'functions.sage')

編集

実際には、 sage lib を sageにインポートしたいと考えています。そして、そのライブラリにはsage固有のコードが含まれています. 私は解釈されたセージの変種の上に疲れました。そして、両方とも「関数モジュールなし」またはこのようなものをくれました。

4

4 に答える 4

1

.sage要約: libから関数をロードするには、最初にファイルsageを解析する必要があります。ファイルが作成され、次にファイルが作成されます。.sage.pyimport.py

例:

import os
os.system(os.curdir + os.sep + 'functions.sage')
from functions import states

このようにして、.sageコードはPythonではなくsageで実行されました-Sven Marnachの答えを使用する場合と同様です(これは絶対に正しいですが、質問を間違った方法で述べました-コードのソースがPythonで実行されます。

于 2012-03-26T10:59:09.893 に答える
0

execfileを使用してファイルを読み取ることができます。以前は使用していませんでしたが、ファイルの内容をローカルスコープに読み込むようです。

于 2012-03-23T13:28:34.783 に答える
0

本当にこれを行う必要がある場合は、おそらく

functions = imp.new_module("functions")
execfile("functions.sage", vars(functions))

これはインポートとまったく同じではありません。モジュールは に移動せずsys.modules、すでにロードされている場合はそこで検索されないためです。ただし、これらの手順が必要な場合は、簡単に追加できます。

于 2012-03-23T13:25:32.390 に答える