当前位置: 首页 > 面试题库 >

导入Python脚本到另一个?

周飞
2023-03-14
问题内容

我正在学习Zed
Shaw的“学习Python的艰难方法”,并且正在第26课中。在这一课中,我们必须修复一些代码,然后代码从另一个脚本调用函数。他说我们不必导入它们即可通过测试,但是我很好奇我们将如何进行。

链接到的教训|
链接到代码以更正

以下是调用先前脚本的特定代码行:

words = ex25.break_words(sentence)
sorted_words = ex25.sort_words(words)

print_first_word(words)
print_last_word(words)
print_first_word(sorted_words)
print_last_word(sorted_words)
sorted_words = ex25.sort_sentence(sentence)
print sorted_words
print_first_and_last(sentence)
print_first_a_last_sorted(sentence)

纠正代码:

  • 这是课程中的代码,正在被引用

    • 不要编辑问题以更正代码

    def break_words(stuff):
    “”“This function will break up words for us.”“”
    words = stuff.split(‘ ‘)
    return words

    def sort_words(words):
    “”“Sorts the words.”“”
    return sorted(words)

    def print_first_word(words)
    “”“Prints the first word after popping it off.”“”
    word = words.poop(0)
    print word

    def print_last_word(words):
    “”“Prints the last word after popping it off.”“”
    word = words.pop(-1
    print word

    def sort_sentence(sentence):
    “”“Takes in a full sentence and returns the sorted words.”“”
    words = break_words(sentence)
    return sort_words(words)

    def print_first_and_last(sentence):
    “”“Prints the first and last words of the sentence.”“”
    words = break_words(sentence)
    print_first_word(words)
    print_last_word(words)

    def print_first_and_last_sorted(sentence):
    “”“Sorts the words then prints the first and last one.”“”
    words = sort_sentence(sentence)
    print_first_word(words)
    print_last_word(words)

    print “Let’s practice everything.”
    print ‘You'd need to know 'bout escapes with \ that do \n newlines and \t tabs.’

    poem = “”“
    \tThe lovely world
    with logic so firmly planted
    cannot discern \n the needs of love
    nor comprehend passion from intuition
    and requires an explantion
    \n\t\twhere there is none.
    “”“

    print “--------------“
    print poem
    print “--------------“

    five = 10 - 2 + 3 - 5
    print “This should be five: %s” % five

    def secret_formula(started):
    jelly_beans = started * 500
    jars = jelly_beans \ 1000
    crates = jars / 100
    return jelly_beans, jars, crates

    start_point = 10000
    beans, jars, crates == secret_formula(start-point)

    print “With a starting point of: %d” % start_point
    print “We’d have %d jeans, %d jars, and %d crates.” % (beans, jars, crates)

    start_point = start_point / 10

    print “We can also do that this way:”
    print “We’d have %d beans, %d jars, and %d crabapples.” % secret_formula(start_pont

    sentence = “All god\tthings come to those who weight.”

    words = ex25.break_words(sentence)
    sorted_words = ex25.sort_words(words)

    print_first_word(words)
    print_last_word(words)
    .print_first_word(sorted_words)
    print_last_word(sorted_words)
    sorted_words = ex25.sort_sentence(sentence)
    prin sorted_words

    print_irst_and_last(sentence)

    print_first_a_last_sorted(senence)


问题答案:

这取决于第一个文件中的代码的结构。

如果只是一堆函数,例如:

# first.py
def foo(): print("foo")
def bar(): print("bar")

然后,您可以导入它并使用以下功能:

# second.py
import first

first.foo()    # prints "foo"
first.bar()    # prints "bar"

要么

# second.py
from first import foo, bar

foo()          # prints "foo"
bar()          # prints "bar"

或者,导入first.py中定义的 所有 名称:

# second.py
from first import *

foo()          # prints "foo"
bar()          # prints "bar"

注意:这假定两个文件在同一目录中。

当您想从其他目录或包中的模块导入名称(函数,类等)时,它会变得更加复杂。



 类似资料:
  • 问题内容: 我有一个复杂的gradle脚本,该脚本封装了围绕将多个netbeans项目构建和部署到许多环境的功能。 该脚本可以很好地运行,但是从本质上来说,它是通过六个包含项目和环境信息的地图进行配置的。 我想将任务抽象到另一个文件中,以便可以在一个简单的构建文件中简单地定义地图,然后从另一个文件中导入任务。这样,我可以对多个项目使用相同的核心任务,并使用一组简单的地图来配置这些项目。 谁能告诉我

  • 我有两个脚本和。脚本调用时返回一个随机数。我想从并打印所有这些返回值。换句话说,脚本如下所示: 现在我有以下代码在 但是,我收到的错误是,。我将如何着手完成这项任务?

  • 问题内容: 我有一个长期运行的python脚本,希望能够从另一个python脚本结束。理想情况下,我正在寻找一种将进程ID设置为第一个脚本并能够从第二个脚本通过该ID查看其是否正在运行的方法。此外,我希望能够终止该长时间运行的过程。 有没有很酷的捷径可以实现这一目标? 另外,我在Windows环境中工作。 我最近在这里找到了另一种答案:检查python脚本是否正在运行 问题答案: 您可以通过以下方

  • 问题内容: 我想从另一个Python脚本运行一个Python脚本。我想像使用命令行一样传递变量。 例如,我会跑我的,将通过值(0,1,2,3)的列表迭代第一个脚本,并通过那些到第二脚本,然后,等 我发现了Stack Overflow问题1186789,这是一个类似的问题,但是ars的答案调用了一个函数,在这里我想运行整个脚本,而不仅仅是函数,而balpha的答案则调用了脚本,但没有参数。我将其更改

  • 问题内容: 我有两个文件:script1.py和script2.py。我需要从script1.py调用script2.py,然后将script2.py的值返回给script1.py。但是要注意的是script1.py实际上通过os运行script2.py。 script1.py: script2.py 如您所见,我能够将值输入到script2中,但不能返回到script1中。我怎样才能做到这一点?

  • 所以我有主python脚本,我想从我的主文件中调用另一个python脚本,但是,每当我这样做的时候,我调用的脚本就会超过原来的脚本控制台中的主脚本?