簡體   English   中英

從Notepad ++在IDLE中運行Python時打開外部文件

[英]Opening an external file while running Python in IDLE from Notepad++

我的桌面上有兩個文件:

sotest.py

print 'Hello world'

sotest2.py

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

我正在Notepad ++之外運行Python,如下所示(從“ 使用IDLE啟動使用完整文件路徑的腳本” ):

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文件中。

import sotest有效,是因為它在sys.path搜索sotest模塊,並且如果您將sotest2.py作為腳本運行,則sotest2.py的目錄將添加到sys.path 如果sotest2.pysotest.py位於不同的目錄中,那么除非將sotest.py的目錄放入pythonpath中,否則將sotest.py 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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM