Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中以脚本形式执行模块_Python_Function_Module - Fatal编程技术网

如何在Python中以脚本形式执行模块

如何在Python中以脚本形式执行模块,python,function,module,Python,Function,Module,我创建了一个名为fibo.py的模块,如教程所示,如下所示: 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

我创建了一个名为fibo.py的模块,如教程所示,如下所示:

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上得到了一个无效的语法错误

我见过关于堆栈溢出的类似问题,但没有一个对我有意义


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

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

如果这是一个完整的模块,则可能会使用

否则,如果这只是一个独立的脚本,则需要一个主脚本或实现相同功能的脚本:

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()

当你说,然后我补充说,你到底补充了什么?您确定要从命令行运行它吗?你在传递什么参数?对于语法错误,也许你只是有一个超旧版本的python。试着在python3下运行它。
python fibo.py 100