![](/img/trans.png)
[英]How to execute python scripts that import third party modules via the command line
[英]How to execute modules as scripts in Python
我创建了一个名为fibo.py
的module
,如教程所示,如下所示:
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.