1

デスクトップに 2 つのファイルがあります。

sotest.py

print 'Hello world'

sotest2.py

foo = open ('sotest.py', 'r')

次のように Notepad++ から Python を実行しています ( Use IDLE to launch script using the full file path から):

C:\Program Files (x86)\Python27\Lib\idlelib\idle.bat -r "$(FULL_CURRENT_PATH)"

sotest2.py を実行すると、以下が返されます。

Traceback (most recent call last):
  File "C:\Users\doncherry\Desktop\sotest2.py", line 7, in <module>
    foo = open ('sotest.py', 'r')
IOError: [Errno 2] No such file or directory: 'sotest.py'

同じファイルを Pyhton の IDLE から実行すると、エラーなしで実行されます。sotest2.py を次のように変更すると、Notepad++ から問題なく動作します。

import sotest

オープニングを機能させるには、構成のどの部分を変更する必要がありますか? 各 Python ファイルにコードを追加するよりも、Notepad++ でいくつかの設定を変更したいと思います。

4

1 に答える 1

0

import sotestsotestでモジュールを検索し、スクリプトとして実行するsys.pathsotest2.pyのディレクトリが追加されるため、機能します。とが別のディレクトリにある場合、他の何かがのディレクトリをpythonpathに入れない限り、内部は失敗します。sys.pathsotest2.pysotest2.pysotest.pysotest.pyimport sotestsotest2.py

sotest2.py内のsotest.pyをファイルとして開くには、絶対パスを指定できます。それらが同じディレクトリにあると仮定すると、自動的に見つけることができます。

# in sotest2.py:
import os

scriptdir = os.path.dirname(os.path.abspath(__file__))
path = os.path.join(scriptdir, 'sotest.py')
with open(path) as sotest_file:
     text = sotest_file.read()
于 2012-11-10T09:19:53.837 に答える