Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何导入其他脚本?_Python_File_Import - Fatal编程技术网

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 *