从Notepad ++在IDLE中运行Python时打开外部文件

时间:2012-11-10 02:53:40

标签: python file import notepad++

我的桌面上有两个文件:

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

我需要更改配置的哪一部分才能使打开工作?我更喜欢在Notepad ++中更改一些设置,而不是在我的每个Python文件中添加代码。

1 个答案:

答案 0 :(得分:0)

import sotest有效,因为它会在sotest中搜索sys.path模块,如果您运行sotest2.pysys.path的目录会添加到sotest2.py作为一个脚本。如果sotest2.pysotest.py位于不同的目录中,那么除非将sotest.py的目录放入pythonpath,否则import sotest内的sotest2.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()