Python 如何导入其他脚本?
好的,我试着查这个问题,但是我得到了很多让我困惑的答案(很抱歉我的无知)。我写了一个脚本,我想导入另一个脚本,这样当我在终端中运行它时,第二个脚本就好像第一个脚本的一部分一样。我该怎么做?非常感谢您的帮助。如果您有名为Python 如何导入其他脚本?,python,file,import,Python,File,Import,好的,我试着查这个问题,但是我得到了很多让我困惑的答案(很抱歉我的无知)。我写了一个脚本,我想导入另一个脚本,这样当我在终端中运行它时,第二个脚本就好像第一个脚本的一部分一样。我该怎么做?非常感谢您的帮助。如果您有名为first.py的脚本: def print_something(): print("something") 然后,您可以从另一个脚本(在同一目录中)导入该脚本: 导入,因此如果另一个脚本名为FirstScrity.py import FirstScript 要使用该脚
first.py的脚本
:
def print_something():
print("something")
然后,您可以从另一个脚本(在同一目录中)导入该脚本:
导入,因此如果另一个脚本名为FirstScrity.py
import FirstScript
要使用该脚本中的内容,您必须执行FirstScript。“要使用的内容的名称”
如果你不想这样做,你可以这样做
from FirstScript import "NAME OF THING TO USE"
或
假设您希望
a.py
使用b.py
。如果b.py
中的代码是在任何函数或类之外编写的,那么运行它只需执行以下操作:
import b
但是,如果代码在某些功能中,例如:
# Code in b.py
def some_func():
# Implementation
# Code in b.py
class ClassB():
def some_func(self):
# Implementation
然后,您需要:
import b
b.some_func()
或:
最后,如果您的代码位于类中的函数中,例如:
# Code in b.py
def some_func():
# Implementation
# Code in b.py
class ClassB():
def some_func(self):
# Implementation
你可以:
from b import ClassB
obj_b = ClassB()
obj_b.some_func()
如果您希望脚本只是内联插入(如#include),那么您就做错了 这将从其他脚本导入所有符号,就好像它们是本地定义的一样(导入代码中的全局变量访问将限定于导入的模块,而不是本地模块)
@RaymondHettinger:表示好像本地定义的
的部分是不正确的。名称将被导入本地名称空间,但如果它们访问任何全局,则将是导入模块的全局,而不是本地模块的全局。@EthanFurman:注意,尽管从执行导入的代码的角度来看,这并不重要。导入的符号将显示在本地名称空间中,就好像它们是本地定义的一样,而不管导入的代码在内部如何工作。对于示例import
语句来说,解释这些文件应该在文件系统中的何处(在同一文件夹中)可能很有价值。你的电话。@Jeff-我认为这离题了,需要一个专门的问题
from b import ClassB
obj_b = ClassB()
obj_b.some_func()
from OtherScript import *