自定义模块导入的实用方法
admin
2023-07-18 07:02:15
0

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()

相关内容

热门资讯

山西沁源应急管理局局长孙晓晔被... 长治市纪委监委消息,长治市沁源县应急管理局党委书记、局长、应急管理综合行政执法队队长孙晓晔涉嫌严重违...
我们找了全网最热门的AI写高考... 当AI遇上高考作文,会碰撞出怎样的火花?一年一度的高考作文,既是学子文笔与思想的赛场,也成为检验人工...
跑男被指“内涵”观众,别怪观众... 极目新闻评论员 纪平6月5日,综艺《奔跑吧》最新一期节目,因嘉宾台词被质疑“内涵”观众,话题“跑男还...
四川宜宾一村庄有人放生大量蛇引... 近日,关于“四川宜宾叙州区南广镇五一村红岩山有人放生大量蛇”一事引发关注,放生者发布的放蛇视频至今仍...
云南祥云通报“公立幼儿园报名要... 6月7日,云南祥云县教育体育局发布更正说明:2026年6月5日,我局下属祥城镇中心学校通过《祥云时讯...
-15%!菲律宾总统成40年来... -15%,这是菲律宾民调机构“社会气象站”近日公布的总统马科斯的净满意度,也就是说民调中对他不满意的...
原创 大... 最近两年,日本国内有个话题越吵越热,连电视台都反复拿出来讨论:那些本土辛辛苦苦培养出来的科研尖子,怎...
校企携手光影筑梦 贵州学子用影... 近日,一部名为《爱你老几》的校园温情微电影在各大短视频平台温情上线。这部影片由贵州师范大学传媒学院携...
又一位!杰出天体物理学者自美归... 【文/观察者网 柳白】一位凭借黑洞研究成果斩获北美最杰出青年科学家专项奖学金的物理学家,已经放弃美国...
今年丢准考证的高考生已出现 今天2026年高考正式开启,然而似曾相识的场景,每年都会提前出现……据武汉警方消息,6月2日晚8时1...