我在“学习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”
答案 0 :(得分:1)
来自the document:
模块是包含Python定义和语句的文件。文件名是附加后缀
.py
的模块名称。在模块中,模块的名称(作为字符串)可用作全局变量__name__
的值。
正如我在评论中所说:
如果您的脚本调用
scriptName
但不调用scriptName.py
,则无法导入该脚本。但你仍然可以通过python scriptName
在shell中运行它。
然后重命名它并添加后缀.py
将起作用。