python 怎么引用其他文件的类

如题所述

在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同一目录下,还有以下几种方法,
1. 将文件所在位置添加到sys.path中
import sys
sys.path.insert(0, '/path/to/application/app/folder') # or sys.path.append('/path/to/application/app/folder')

import file

2. 在文件目录下新建__init__.py文件然后调用文件
from application.app.folder.file import func_name

init.py文件
a).init.py文件的作用
该文件的主要作用使初始化Python包。如果目录下面包含了该文件,Python解释器就会将该目录当做一个包,下一步就可以使用import语句在别的.py脚本中引用该目录下的文件。一个标准Python模块的结构如下所示:
package/
__init__.py
file.py
file2.py
subpackage/
__init__.py
submodule1.py
submodule2.py

b). __init__文件可以为空但可以用来建立对包的需求。一般来说会在该文件中写那些类,函数等需要被导入到包水平,从而可以被方便的引用。比如:如果file.py文件中有一个File类,在init.py文件中啥都没写时引用File类需要这样操作:
from package.file import File

如果在__init__.py文件中将file导入包,那就在包水平可以直接引用File类:
# in your __init__.py
from file import File

# in your script
from package import File

此外,还需要注意的一点是__init__.py文件中的all变量。如果解释器在__init__.py文件中观察到了__all__变量,那么在运行from package import *时就只会引入__all__变量中列出的那些模块。例如:如果想在上述结构的只引入submodule1模块,那么可以在subpackage/__init__.py文件中定义__all__ = ['submodule1'],当引用subpackage时from subpackage import *就只引入了submodule1模块。
3. 将文件所在目录添加到python的环境变量
export PYTHONPATH=$HOME/pathToYourScripts/:$PYTHONPATH
温馨提示:内容为网友见解,仅供参考
第1个回答  2018-07-04
首先要你在文件夹B里放一个__init__.py的文件,
然后就可以在test.py中:
from .B.b import 类名

望采纳!本回答被网友采纳

(详解)python调用另一个.py文件中的类和函数或直接运行另一个.py...
Python中调用另一个.py文件中的类和函数或直接运行文件,有多种方法,但推荐的做法包括:在同一文件夹内,通过`import`语句直接调用;在不同文件夹间,推荐创建`__init__.py`文件,并以相对或绝对路径导入;运行.py文件时,确保正确路径和权限。以下是具体步骤的详细说明:1. 同一文件夹下的调用:-...

Python如何import不同文件夹下的文件(module)
如果使用from b import *,在调用b.py中定义的函数fun1()或类class1()时,可以直接写成fun1()或class1();2. b.py 在子目录test下 需要在test目录下创建一个空文件__init__.py。创建该文件的目的是将test目录变成一个Python包。然后我们可以通过以下方式导入:或者 3. b.py在任意路径下 假...

Python之调用其他py文件
1. os库调用: 使用os库中的函数尝试调用py文件甲,但实践发现不适用于数据迁移脚本。具体操作可能存在问题,需要深入排查。2. 导入库方式: 通过导入和可能的库移除来实现py文件的重复执行。这种方法虽然简洁,但初次执行时会重复运行py文件。3. subprocess.call()调用: 使用subprocess模块中的call函数,...

刚学么import别的文件夹的文件啊~~
首先,确保你已经正确设置好Python的sys.path变量,它会告诉Python在哪些路径下搜索导入的模块。如果你的模块"01"位于与"01.py"相同的文件夹,Python能够自动查找。但如果"01"模块位于其他文件夹,你需要将其路径添加到sys.path中。例如,如果"01"模块在F盘的"my_folder"文件夹下,你可以使用以下代码...

求助一下,python如何调用另一个py文件
1 先配置环境变量,比如你的内置函数放在c盘下x.py,那么 import syssys.path.append('c:\\\\')2 到你要引用的地方 import x就可以了,注意如果有冲突最好用包(Package)每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录(文件夹),而不...

如何调用另一个python文件中的代码
import a #引用模块 a.func( )或者是 import a#应用模块 from a import func #引用模块中的函数 func() #这里调用函数就不需要加上模块名的前缀了 不同文件目录下 若不在同一目录,python查找不到,必须进行查找路径的设置,将模块所在的文件夹加入系统查找路径 import sys sys.path.append(‘a...

Python中import的用法
在深入探讨Python中的import用法之前,我们首先需要明确其核心功能:导入其他Python文件(模块),以利用其定义的类、方法或变量,实现代码复用。了解import的用法有助于提升编程效率并构建更为模块化的代码结构。以两个示例文件m1.py和m2.py为例,假设我们的目标是利用m2.py中的功能。首先,创建一个名为...

引用其他文件夹下的py文件
同一文件夹下的xxxx.py文件,可直接import xxxx。对于不同文件夹下的,在运行python文件时,通过添加sys.path.append(" ")把那个py文件所在的路径引用进来。另外,在folder文件夹下,需要有 init .py文件,内容可以为空。不过,在IDE中,不会直接识别到添加的路径,这里的import XXXX 会报错。同样下面...

python如何调用另一个py文件的所有函数
调用类:A.py文件:B.py文件:或 在不同文件夹下 A.py文件的文件路径:E:\\PythonProject\\winycg B.py文件:针对这个问题,网上有很多的解决方式。其实最主要的原因是因为Python无法正确找到你其他文件夹下文件的路径。针对不同的环境和问题有不同的方法,大家可自行测试。方法一 环境,Python为3.5,...

如何让一个 Python 文件运行另一个 Python 文件
导入语句使目标文件被视为模块,允许调用其函数、访问其变量并执行代码。创建一个简单的 Python 脚本并保存为.py 文件,作为运行对象。在另一个文件中使用 import 语句导入该文件,调用其函数。使用 subprocess 模块:subprocess 模块允许从 Python 代码中运行其他程序或命令。使用 subprocess.run() 函数执行...

相似回答