2017-10-03 7 views
0

私が試していることは、プログラムが実際に実行されるまで、インポートするファイルの名前を知らないとxsltファイルのリストを別のxsltファイルにインポートすることです。不明な名前のxsltファイルをmaster xsltファイルにインポートする

背景: 他の人(python)プロジェクトの拡張メカニズムを作成しています。プロジェクトでは、xsltスクリプトを使用してxmlドキュメントをhtmlに変換します。私はプロジェクト内で "extensions"というディレクトリを作成しました。この拡張ディレクトリ内に任意のサブディレクトリを置くことができるようにしたいと考えています。各サブディレクトリは拡張子を表し、潜在的にxsltファイルを含む多数の異なるファイルを持ちます。

すべてのサブディレクトリでxsltファイルをスキャンし、見つかったすべてのxsltファイルを参照する一連のタグで新しいxsltファイル( 'combined.xsl')を書き出すスクリプトがあります。次に、「combined.xsl」をプロジェクトのメインのxsltファイルにインポートします。

私の最初の問題は、プロジェクトが一般的に管理者のディレクトリ(例:/usr/local/lib/python3.5/dist-packages/など)にインストールされるが、通常のユーザーから呼び出されるということでした。つまり、スクリプトが 'combined.xsl'を作成しようとすると、権限が不十分なために書き込めません。

次に、 'combined.xsl'を一時ファイル(tempfileモジュールを使用)にすることでしたが、異なるシステム上の異なる場所に一時ファイルが作成されるため、プロジェクトのマスターxsltファイルから参照できません。

これらのアプローチのどちらかを動作させる方法はありますか、または私が見逃しているアプローチとは全く異なる方法があります。私はこれがまれな問題でなければならないと感じていますが、Googleが非常に役立つことはあまりにも抽象的です。

答えて

0

私は結局、ファイルへの書き込みを含まない問題を解決する全く異なる方法を考え出しました。しかし、誰かが同様の問題に対処しているのであれば、this questionへの回答は一見価値があります。

関連する問題