[英]Why won't my python code print anything?
我編寫的程序在從終端執行時沒有打印任何內容,因此我嘗試運行以下代碼
import sys
#!/usr/bin/python
def main(argv):
print "hell0\n"
sys.stdout.flush()
這是終端為什么不打印出hello。 main 函數是否還在運行?
Python 不會自動調用 main()(您需要使用 sys 庫來獲取 argv)。
#!/usr/bin/python
import sys
def main():
print "hell0\n"
main()
你沒有在任何地方調用main
,你只是定義了它。
兩件事:(1)您的#!/use/bin/python
需要是文件中的第一件事,以及(2)您需要添加對main
的調用。 實際上,您正在定義它,但實際上並未調用它。
在 Python 中,您通常不會將命令行參數傳遞給main
,因為它們在sys.argv
中可用。 因此,您可以將main
定義為不接受任何參數,然后在文件底部調用它:
if __name__ == "__main__":
sys.exit(main())
__name__
的測試防止在文件被導入時調用main
,而不是被執行,這是處理它的標准方法。
如果要將命令行參數顯式傳遞給main
,可以將其調用為:
if __name__ == "__main__":
sys.exit(main(sys.argv))
這就是您需要對您當前擁有的定義進行的操作。
在 python 中,您的代碼不必在函數中,並且必須顯式調用所有函數。
試試這樣的:
#!/usr/bin/python
import sys
print "hell0\n"
確保在定義后調用該函數,
定義一個函數只將它存儲在內存中。
#!/usr/bin/python
import sys
def main(argv):
print "hell0\n"
sys.stdout.flush()
main()
通常,人們會在腳本的末尾放一些代碼來運行 main(),例如
if __name__ == "__main__":
main()
然后,您可以在終端中運行您的腳本,它會調用 main() 方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.