%%writefile mainss_script.py
def count_vowels(sentence):
"""Count the number of vowels in sentence."""
vowels = 0
for c in sentence:
if c.lower() in "aeiouy":
vowels = vowels + 1
return vowels
def count_consonants(sentence):
"""Count the number of consonants in sentence."""
consonants = 0
for c in sentence:
if c.isalpha():
if c.lower() not in "aeiouy":
consonants = consonants + 1
return consonants
def count_digits(sentence):
"""Count the number of digits in sentence."""
digits = 0
for c in sentence:
if c.isdigit():
digits = digits + 1
return digits
def mainss():
test_sentence = "Plan 2 is not working!"
print("Number of vowels = {:d}".format(count_vowels(test_sentence)))
print("Number of consonants = {:d}".format(count_consonants(test_sentence)))
print("Number of digits = {:d}".format(count_digits(test_sentence)))
if (__name__=="__main__"):
mainss()
import mainss_script
mainss_script.mainss()
ImportError Traceback (most recent call last)
<ipython-input-66-1fd7edecdd49> in <module>()
----> 1 import mainss_script
2 mainss_script.mainss()
ImportError: No module named 'mainss_script'
生成了mainss_script.py,但是,当我尝试导入它时,它返回错误,为什么?
忽略单词要求忽略单词要求忽略单词要求
文件mainss_script.py必须位于启动ipython的目录中。
如果没有,您可以将其位置插入sys.path
,以便口译员找到它
import sys
sys.path.insert(0, "path to mainss_script.py")
import mainss_script
mainss_script.mainss()
此外,%%writefile
是Jupyter魔术别名命令,用于将单元格的内容写入文件。所以我的猜测是你的代码是从一些Jupyter笔记本复制的,并且运行包含这些行的单元格会在当前目录中创建mainss_script
。
如果您没有该文件,请将除包含%%writefile
的行之外的那些代码行粘贴到启动IPython的同一目录中的文件mainss_script.py中。
如果由于某种原因你确实希望将mainss_script.py保存在特定位置,那么你应该按照上面的说明将mainss_script的路径添加到sys.path
中,以便解释器找到它。之后执行导入和运行mainss()
的行,事情应该有效。