簡體   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