学习Python艰难之路25

时间:2015-12-14 03:20:17

标签: python import

我在“学习Python困难之路”一书中做了练习25。我遗憾地遇到了一个问题:我无法在python shell中导入ex25脚本,这是练习的一部分。事实上,我尝试导入其他练习(包括一些来自Project Euler和我制作的计算器:))我注意到即使我更改了脚本的名称,导入也不起作用,并且唯一一个工作的是一个称为“格式化程序”。

以下是ex25的代码:

def break_words (stuff):
    #This function will separate words with spaces
    words = stuff.split(" ")
    return words

def sort_words(words):
    # This function sorts the words 
    return sorted(words)

def print_first_words(words):
    # Prints the first letter of a word by popping it
    word = words.pop(0)
    return word

def print_last_word(words):
    # This function prints the last letter of a word by popping it
    word = words.pop(-1)
    print word

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

def print_first_and_last(sentence):
    # Prints the first and last words of a sentence
    words = break_words (sentence)
    print_first_word(words)
    print_last_word(words)

def print_first_and_last_sorted(sentence):
    # Sorts the words the prints the first and last one
    words = sort_sentence(sentence)
    print_first_word(words)
    print_last_word(words)

这是“格式化程序”代码:

while True:
    for i in ["/","-","|","\\","|"]:
        print "%s\r" % i,

我还注意到,在本书中,当作者运行一个脚本时,他就像这个“python scriptName.py”一样,我只需要这样做“python scriptName”

1 个答案:

答案 0 :(得分:1)

来自the document

  

模块是包含Python定义和语句的文件。文件名是附加后缀.py的模块名称。在模块中,模块的名称(作为字符串)可用作全局变量__name__的值。

正如我在评论中所说:

  

如果您的脚本调用scriptName但不调用scriptName.py,则无法导入该脚本。但你仍然可以通过python scriptName在shell中运行它。

然后重命名它并添加后缀.py将起作用。