0

モジュールのパスを見つけるには、次のスクリプトを使用したいと思います。

import <module_name>
print <module_name>.__file__

できます。

ただし、モジュールの名前を指定する引数を受け取るように、より柔軟にしたいと考えています。

スクリプトに searchModulePath.py という名前を付けた場合、.py で実行したいと思いsearchModulePath.py <some_module_name>ます。

これが私が試したことです:

#!usr/bin/python

import sys
print sys.argv
import sys.argv[1]
print sys.argv[1].__file__

しかし、うまくいきません:

  File "searchModulePath.py", line 5
    import sys.argv[1]
                   ^
SyntaxError: invalid syntax

そして、2 行目の print ステートメントは何も出力しません:(

ここで見逃したものはありますか?

4

2 に答える 2

1

import ステートメントでは変数を使用できません__import__。代わりにビルトインを使用する必要があります。

import sys
print sys.argv
module = __import__(sys.argv[1])
print module.__file__ 
于 2012-11-28T16:26:06.673 に答える
1

と言えば効きます

module = __import__(sys.argv[1])
print(module.__file__)

(モジュールがファイルとして実装されていると仮定すると、そうではsysあり__builtins__ません。)

于 2012-11-28T16:24:32.060 に答える