Python引用任意位置模块方法总结
- 写在前面
- 解决方案
- 情况一:目标模块与程序相差一级目录
- 情况二:目标程序与模块相差两级或多级目录
写在前面
最近写Python需要导入自己写的模块,但是如果程序和模块不在同一级目录下,在命令行里面运行就会出现ModuleNotFoundError(这么说是因为在PyCharm里面设置根目录就能直接导入)。
不过为了程序以后迁移方便,下面说一下具体的方法。
解决方案
情况一:目标模块与程序相差一级目录
环境:
Windows 10 + Python 3.6.8
这种情况只需要在程序最上面加上:
import sys
sys.path.append('..')# 也可以采用如下方法,这种方法可以运行在Mac OS,Linux等系统,但也较为复杂
# 意思是从当前程序的目录往上进行路径的添加
# 注意__file__得到的路径还包括程序文件的路径
# 所以要比直接添加'..'多一个os.pardir
# import sys, os
# sys.path.append(
# os.path.abspath(
# os.path.join(
# __file__,
# os.pardir,
# os.pardir)))
在模块导入时就不会报错了。另外,像这样为了方便程序迁移的话,在导入自己的模块时候使用相对路径要好一些。
情况二:目标程序与模块相差两级或多级目录
针对目录相差两级的情况同理可以在程序首添加:
import sys
sys.path.append('..\\..')# import sys, os
# sys.path.append(
# os.path.abspath(
# os.path.join(
# __file__,
# os.pardir,
# os.pardir,
# os.pardir)))
相隔几级目录就加几个‘..’,本例为相差两级目录的情况。
Python引用任意位置模块方法总结相关推荐
- linux下python退出命令_Linux 下 Python按任意键退出方法
某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想,因为接触python时间也不算长,主要 ...
- 转载:python引用DLL文件的方法
python引用DLL文件的方法 转载于:https://www.cnblogs.com/Regle/p/7003261.html
- Linux开发 python引用自定义的模块
三个py文件放到同一目录下 (base) vvcat@ubuntu:~/Desktop/vvcat_test$ pwd /home/vvcat/Desktop/vvcat_test (base) vv ...
- python正则表达式之re模块方法介绍
python正则表达式之re模块其他方法 1:search(pattern,string,flags=0) 在一个字符串中查找匹配 2:findall(pattern,string,flags=0) ...
- Arcgis桌面开发,Python引用GDAL库的方法
我用的是arcgis10.2,python版本是arcgis自动安装的Pythin2.7 1.下载gdal-111-1700-core.msi和对应的GDAL-1.11.1.win32-py2.7.m ...
- python怎么爬取新浪微博数据中心_基于Python的新浪微博位置数据获取方法研究....
[1] 新浪微博数据中心.2017微博用户发展报告[EB/OL].[2017-12-25]. http://data.weibo.com/report/reportDetail?id=404. [2] ...
- Python 技术篇-pip安装的python库缓存位置查看方法,如何查看python库源码
用 pip install xxx 安装库时,pip 把库缓存在了:C:\Users\Administrator\AppData\Local\pip\cache, 我的用户是管理员,所以是 Admin ...
- python 光标位置输入文字_Python 移动光标位置的方法
Python 移动光标位置的方法 更新时间:2019年01月20日 11:10:18 作者:你怎么知道你不会成功 今天小编就为大家分享一篇Python 移动光标位置的方法,具有很好的参考价值,希望对大 ...
- Python高级——正则表达式 re模块1.match方法
python:正则表达式 一.什么是正则表达式 正则表达式也叫做匹配模式(Pattern),它由一组具有特定含义的字符串组成,通常用于匹配和替换文本. 正则表达式,是一个独立的技术,很多编程语言支持正 ...
最新文章
- Spring servlet
- 【从零学习OpenCV 4】opencv_contrib扩展模块的安装
- 一名合格的运维工程师的历练之路
- python英语-我们用程序整理出了一份Python英语高频词汇表,拿走不谢!
- SAP Spartacus user role页面的checkbox设计明细介绍
- LoadRunner 12.02 安装教程及中文语言包安装
- 【线段树】扇形面积并(P3997)
- fn:substring()函数
- 【华为云技术分享】敏捷实践:一周的Sprint太短,可以调吗
- 使用NodeJS将文件或图像上传到服务器
- 收敛数列有界的通俗理解
- idea 常用快捷键(windows键盘映射)
- JVM垃圾收集算法及垃圾收集器
- XtraReport报表控件
- 诺基亚 java 软件_初学篇:诺基亚手机软件安装不求人
- push代码至gitee码云报错unable to access ‘https://gitee.com/*/git/‘: The requested URL returned error: 403
- sysfader iexplore 应用程序错误问题解决方法.
- 利用photoshopcs6将gif格式图片变为背景透明
- RK3399 Android7.1以太网卡百兆网正常千兆网不能用
- SOLID原则 【转】