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