[英]Opening an external file while running Python in IDLE from Notepad++
我的桌面上有兩個文件:
print 'Hello world'
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.py
和sotest.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.