python在windows下import其他模塊的注意事項

初學python,在同一目錄中創建了兩個py文件:a.py和b.py,然後在a.py中import b.py

from . import b
......

在linux下執行沒有問題,但是在windows下就提示  ImportError: cannot import name 'b'

在網上搜了半天也沒有找到問題所在,後來還是在google上找到了答案。

原來是python會在sys.path下去找import的python文件,我輸出了一下sys.path:

import sys
print(sys.path)

sys.path裏並沒有我的項目文件夾,所以import的時候就會出錯,用以下代碼即可解決:

import sys
import os
sys.path[0]=os.path.dirname(os.path.realpath(__file__))
from . import b
然後再 from . import b 就ok了!


如果更完善些,可以判斷一下當前的運行環境,如果是linux,就不用設置sys.path了

import platform
 
def isWindowsSystem():
    return 'Windows' in platform.system()
 
def isLinuxSystem():
    return 'Linux' in platform.system()

if isWindowsSystem() :
    import sys
    import os
    sys.path[0]=os.path.dirname(os.path.realpath(__file__))
from . import b


還有另外一種更簡單的辦法:

import sys
sys.path.append("./")

import a



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章