簡體   English   中英

Raspberry Pi python 代碼從 Thonny IDE 運行,但不從終端運行

[英]Raspberry Pi python code running from Thonny IDE but does not run from the terminal

我正在嘗試從單個 python 代碼運行三個 python 代碼。 但是,代碼不會從終端運行。 但是,當我嘗試使用 Thonny IDE 運行它時,所有代碼都運行良好。 下面是我試圖執行的代碼:

#!/usr/bin/python3

import time
import threading
import os


def startProgram(i):
    if i==0 or i=='0':
        time.sleep(1)
        os.system("sudo python3 /home/pi/a.py")
        print("Create tunnel code executed")
    elif i==1 or i=='1':
        time.sleep(1)
        os.system("sudo python3 /home/pi/b.py")
        print("Create capture http code executed")
    elif i==2 or i=='2':
        time.sleep(1)
        os.system("sudo python3 /home/pi/c.py")
        print("Create mail transaction details code executed")
    else:
        print("Value not in range")
        pass

def main():
    for i in range(3):
        print(i)
        t = threading.Thread(target = startProgram, daemon=True, args=(i,))
        t.start()

if __name__=="__main__":
    main()

終端中不會引發錯誤。 代碼只是運行並退出,但其他 3 個程序永遠不會執行。 我正在嘗試使用以下命令在終端中執行 python 代碼:

python3 啟動程序.py

此外,我已經單獨測試了所有代碼,它們運行時沒有任何錯誤。 請讓我知道我哪里出錯了以及如何解決這個問題。 提前致謝。

既然其他腳本都是 all.py 的,為什么不直接導入它們呢?

假設 startProgram.py 與您的其他文件位於同一文件夾中-

from time import sleep
from threading import Thread

import a, b, c


def startProgram(i):
    try:
        sleep(1)
        [a.main(), b.main(), c.main()][int(i)]
    except:
        print("Value not in range")

def main():
    for i in range(3):
        print(i)
        Thread(target = startProgram, daemon=True, args=(i,)).start()

if __name__ == "__main__":
    main()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM