我知道这一定是一个超级基本的问题,但是,我试图在整个过程中找到一个简单的答案而找不到答案。
所以我的问题是:如何从命令行执行python脚本,以便我可以看到打印语句。
例如,假设我有文件test.py:
def hello():
print "hello"
如果我进入解释器,导入test.py,然后调用test.hello(),一切正常。但是,我希望能够运行
python test.py
从命令行打印并向终端打印“hello”。
我该怎么做?
谢谢!
更新: 是的,抱歉,我的脚本实际上更像是这样:
def main():
hello()
def hello():
print "hello"
我还需要调用main(),还是自动调用?
答案 0 :(得分:7)
在文件末尾添加:
if __name__ == '__main__':
hello()
答案 1 :(得分:3)
您的print
语句包含在函数定义块中。您需要调用该函数才能执行:
def hello():
print "hello"
if __name__ == '__main__':
hello()
基本上这是说“如果这个文件是主文件(已从命令行调用),则运行此代码。”
答案 2 :(得分:2)
您必须让脚本实际调用您的方法。通常,您可以使用if __name__ == "__main__":
块执行此操作。
或者,你可以使用解释器的-c
参数从cli中显式地导入和运行你的模块,但这需要脚本在你的python路径上,并且你的样式也会很糟糕现在已经在Python模块之外执行了Python代码。
答案 3 :(得分:0)
据我了解,您的文件只有以下几行:
def hello():
print "hello"
定义是正确的,但是什么时候“调用”函数?
您的文件应包含对hello()
功能的调用:
def hello():
print "hello"
hello()
这样,函数在单个文件中被定义为和。
这是一种非常“类似脚本”的方法......它可行,但必须有更好的方法来实现它