簡體   English   中英

為什么我的 python 代碼不打印任何東西?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM