为什么我不能用我的python脚本打印到终端?

Lev*_*ter 3 scripting ubuntu python-3.x

我无法弄清楚为什么我不能使用以下代码打印到终端.

#!/usr/bin/env python3
import sys
def main():
    sys.stdout.write("Hello")
Run Code Online (Sandbox Code Playgroud)

我正在从终端运行程序,进入找到python文件的目录,使文件可执行并运行

./filename
Run Code Online (Sandbox Code Playgroud)

终端打印什么都没有,只是去换行.如果不使用sys.stdout.write("string"),如何打印到终端?

Mun*_*nir 10

首先,请在Stackoverflow上询问编程问题,除非它们特定于Unix/Linux shell编程.

main默认情况下,Python不执行(或任何其他)函数.
你可以这样做:

#!/usr/bin/env python3
import sys
sys.stdout.write("Hello")
Run Code Online (Sandbox Code Playgroud)

或者如果要保留该功能,但在运行脚本时调用它:

#!/usr/bin/env python3
import sys

def main():
    sys.stdout.write("Hello")

if __name__ == '__main__':
    main()
Run Code Online (Sandbox Code Playgroud)

如果要将脚本导入其他文件,则应使用第二种方法,否则使用第一种方法.

此外,您可以使用Python print函数,默认情况下写入stdout.

#!/usr/bin/env python3
print("Hello")
Run Code Online (Sandbox Code Playgroud)