1. 程式人生 > >自定義模組匯入的實用方法

自定義模組匯入的實用方法

00一個大坑
這個問題是我在使用pycharm中的copy path獲取當前檔案的絕對路徑時遇到。

自定義模組匯入的實用方法

結果獲取到的路徑如下!!!
E:\text1\day24(模組)\模組匯入練習1\當前要執行的檔案.py
一開始沒有發現錯在哪裡,直到使用
print(__file__)

發現真正的路徑是:
E:/text1/day24(模組)/模組匯入練習1/當前要執行的檔案.py
’\‘ 和 ’/‘ 的差距

01 自定義的模組匯入一
自定義模組匯入的實用方法

# import 模組
# 模組.func()

# from 模組 import func1
# func1()

# from 包 import 模組2
# 模組2.func2()

path='E:/text1/day24(模組)/模組匯入練習1/包'   #  E:/text1/day24(模組)/模組匯入練習1/包/模組2.py
                                                   #  E:\text1\day24(模組)\模組匯入練習1\包\模組2.py
                                                   # E:\text1\day24(模組)\模組匯入練習1\包
import sys
sys.path.append(path)
print(sys.path)

import 模組2
模組2.func2()
print(__file__)

02 自定義的模組匯入二
自定義模組匯入的實用方法

# import sys
# sys.path.append('E:/text1/day24(模組)/模組匯入練習2/core')

# import main
# main.func3()
                     #   E:/text1/day24(模組)/模組匯入練習2/core
# print(__file__)      #    E:/text1/day24(模組)/模組匯入練習2/bin/start.py
# rep=__file__.split('/')
# print(rep)
#
# print(rep[:-2])
# base_path='/'.join(rep[:-2])
# print(base_path)       # E:/text1/day24(模組)/模組匯入練習2
#
# import sys
# sys.path.append(base_path)
# from core import main
#
# main.func3()

# 簡化

rep=__file__.split('/')
base_path='/'.join(rep[:-2])
import sys
sys.path.append(base_path)

from core import main

main.func3()