繁体   English   中英

如何在 Python 中将模块作为脚本执行

[英]How to execute modules as scripts in Python

我创建了一个名为fibo.pymodule ,如教程所示,如下所示:

def fib(n):
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()

def fib2(n): 
    result = []
    a, b = 0, 1
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

然后我添加了

python fibo.py <arguments>

我在 fibo.py 的 f 上遇到了invalid syntax error

我在堆栈溢出上看到过类似的问题,但对我来说没有任何意义。

我已经在这段代码上工作了一个小时。 非常感谢您的帮助。

您不应该收到语法错误。 如果你这样做了,你试图在交互式控制台中运行它,而不是你的系统终端。 如果您在系统终端中运行它,它将执行; 只是什么都不会发生。

如果这是一个完整的模块,则-m标志可能有用。

否则,如果这只是一个独立的脚本,你需要一个“主”或实现相同的东西:

import sys

def fib(n):
    a, b = 0, 1
    while a < n:
        print(a, end=' ')
        a, b = b, a+b
    print()


def main():
    arg = sys.argv[1]  # Grab the arguments passed to the script
    fib(int(arg))  # Obviously, add some error handling


if __name__ == "__main__":
    main()

然后,在您的终端中(而不是像 iPython 这样的交互式控制台):

python fibo.py 100

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM