我有一个python脚本test.py
我正在努力。我想编辑并重新运行它。我在OSX上使用Terminal来运行脚本。我不能让脚本第二次运行而不退出终端并重新启动它。
# test.py
print "Howdy"
终端窗口:
$ python
>>> import test
Howdy
>>> import test
>>>
问题1:如何让脚本再次运行?
问题2:或者python设计为这样工作:
# test.py
def printStuff():
print "Howdy"
终端:
$ python
>>> import test
>>> test.printStuff()
Howdy
>>> test.printStuff()
Howdy
>>>
答案 0 :(得分:3)
1:您可以使用reload(moduleName)
执行您要执行的操作(但请参见下文)。
2:有一些不同的模式,但我通常在我的所有模块中都有一个main()
函数,它有一个明确的“起始点”,否则我只会有一堆库函数。所以你或多或少地在你的例子中思考。你不应该在导入时“做东西”,除非它正在设置模块。将模块视为库,而不是脚本。
如果你想把它作为一个脚本执行(在这种情况下你不应该使用import
),那么有几个选项。您可以在python脚本(Should I put #! (shebang) in Python scripts, and what form should it take?)的顶部使用shebang并直接从命令行执行它,或者您可以使用脚本中的__main__
模块作为入口点({{3然后,从命令行使用python调用脚本,例如python myscript
。
答案 1 :(得分:1)
使用Python的 reload()方法:
答案 2 :(得分:1)
您想使用reload方法
>>> import test
Howdy
>>> reload(test)
Howdy