python 如何引用同一个目录下的另一个py文件
目录
前言
在使用python进行编程的过程会遇到各种各样的问题,解决之后,最好及时做笔记,一方面帮助了后来人,一方面巩固了自己的记忆。
正文
针对这个问题,网上有很多的解决方式。其实最主要的原因是你所要引用的文件不在当前的工作目录里,同时,它也不是一个安装好的包。针对不同的环境和问题有不同的方法,大家可自行测试。
1. 方法一
首先,我先把解决我本人问题的方法记录如下。环境,Python为3.6,编辑器为sublime。
子函数(generate_gt_anchor.py)需要运用draw_image.py中的函数,这两个文件在同一个小文件夹lib文件夹下,
代码
import sys
sys.path.append('E:\CTPN\CTPN-master(1)\CTPN-master\ctpn\lib')
文件夹目录视图:
在此处有一个文件 application/app/folder/file.py
想在 application/app2/some_folder/some_file.py 中应用file.py
2.方法二
在这个路径下有一个文件 application/app2/folder/file.py
想在 application/app3/some_folder/some_file.py 中应用file.py
代码
import sys
sys.path.insert(0, '/path/to/application/app2/folder')
import file
3.方法三
这个方法必须保证folder文件夹(也就是需要的文件夹下)包含__init__.py,也就是说引用的文件来自于一个完整的包package。
代码
from application.app.folder.file import func_name
4.方法四
如果是在linux系统上的python3编译器
代码
import sys
sys.path.append(pathToFolderContainingScripts)
from scriptName import functionName #scriptName without .py extension
5.方法五
当文件在平行路径下时,也就是我遇到的情况时,可以使用以下方法,但时灵时不灵。
代码
application/app2/some_folder/some_file.py
application/app2/another_folder/another_file.py
import sys
sys.path.append('../')
如果还有其他方法,欢迎补充,谢谢
参考:
http://*.com/questions/4383571/importing-files-from-different-folder-in-python
https://blog.csdn.net/sinat_27693393/article/details/70037718