自定义模块导入的实用方法-创新互联
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()
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享标题:自定义模块导入的实用方法-创新互联
路径分享:http://azwzsj.com/article/djcgdi.html