如何在Python中导入文件?我想导入:

文件(例如file.py) 一个文件夹 在运行时根据用户输入动态地生成文件 文件的特定部分(例如,单个函数)


当前回答

这就是我从python文件调用函数的方式,这对我来说是灵活的,可以调用任何函数。

import os, importlib, sys

def callfunc(myfile, myfunc, *args):
    pathname, filename = os.path.split(myfile)
    sys.path.append(os.path.abspath(pathname))
    modname = os.path.splitext(filename)[0]
    mymod = importlib.import_module(modname)
    result = getattr(mymod, myfunc)(*args)
    return result

result = callfunc("pathto/myfile.py", "myfunc", arg1, arg2)

其他回答

导入.py文件的最佳方法是使用__init__.py。最简单的方法是在你的.py文件所在的目录下创建一个名为__init__.py的空文件。

Mike Grouchy的这篇文章很好地解释了__init__.py及其用于制作、导入和设置python包的用法。

你也可以这样做:从文件名导入一些东西

示例:from client import客户端 请注意,您不需要.py .pyw .pyui扩展名。

from y import * 

假设你有一个文件x和y。 你想把y文件导入x。

然后转到您的x文件并放置上述命令。为了测试这一点,只需在y文件中放入一个打印函数,当导入成功时,在x文件中应该打印它。

有几种方法可以将python脚本包含在abc.py中

例如,如果你的文件名为abc.py(导入abc) 限制是你的文件应该和你调用的python脚本在同一个位置。

进口美国广播公司

例如,如果你的python文件在Windows文件夹中。Windows文件夹与调用python脚本的位置相同。

从文件夹导入ABC

在情况下abc.py脚本是可用的内部internal_folder,是在文件夹内

导入ABC

正如James上面所回答的,如果你的文件在某个固定的位置

进口操作系统 导入系统 scriptpath = "../Test/MyModule.py" sys.path.append (os.path.abspath (scriptpath)) 进口MyModule里

如果你的python脚本更新了,你不想上传-使用这些语句自动刷新。好处:)

%load_ext autoreload 
%autoreload 2

将python文件从一个文件夹导入到另一个文件夹的复杂方法并不多。只需要创建一个__init__.py文件来声明这个文件夹是一个python包,然后转到你想要导入的主机文件

从root。parent。folder。file导入变量,类,等等