亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法在命令行中運行 python 腳本

無法在命令行中運行 python 腳本

慕桂英546537 2022-10-05 18:32:58
我目前正在嘗試在樹莓派上運行一個小腳本,以調查我的功耗。每次我的計數器執行脈沖(緊密接觸)并計算“即時”功耗時,此腳本通常都會中斷。問題是,當我從 IDE (Thonny) 運行該腳本時,它可以完美運行,但我不能直接在命令行中運行它(python 或 python3,sudo 與否,最后是 & ......)。我的目標是將其作為吸引人的“python3 myscript.py”服務運行。當我運行它時,我沒有收到任何消息、錯誤或任何東西。它似乎停止了。這是我的腳本#!/usr/bin/env python3import mysql.connector as mariadbimport datetimeimport timeimport RPi.GPIO as GPIOmariadb_connection = mariadb.connect(user='Elec', password='****', database='Elec')cursor = mariadb_connection.cursor()cursor.execute("SELECT datetime FROM Compteur ORDER BY nb DESC LIMIT 1")gett = cursor.fetchone()last = gett[0]GPIO.setmode(GPIO.BCM)GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)def impulse(channel):    global last    now = datetime.datetime.now()    delta = datetime.timedelta.total_seconds(now-last)    last = datetime.datetime.now()    Pinst = round(3.6/delta ,3)    heure = int(now.strftime("%H"))    if heure > 20 or heure < 7:        HPHC = 'HC'    else:        HPHC = 'HP'    cursor.execute("INSERT INTO Compteur (Puiss,datetime,HPHC) VALUES (%s,%s,%s)",     (Pinst,now.strftime("%Y-%m-%d %H:%M:%S"), HPHC))    mariadb_connection.commit()GPIO.add_event_detect(17, GPIO.FALLING, callback=impulse, bouncetime=500)我的想法不多了,所以如果您有什么要嘗試的,請...提前致謝!
查看完整描述

1 回答

?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

所以我的腳本現在運行了一段時間。我對其進行了修改,以便用繼電器控制關稅開關。這可能會讓知道的人感興趣:)


#!/usr/bin/env python3

import mysql.connector as mariadb

import datetime

import time

import RPi.GPIO as GPIO


mariadb_connection = mariadb.connect(user='', password='', 

database='')

cursor = mariadb_connection.cursor()

print ('connected')

cursor.execute("SELECT datetime FROM Compteur ORDER BY nb DESC LIMIT 1")

gett = cursor.fetchone()

last = gett[0]

print (last)

GPIO.setmode(GPIO.BCM)

GPIO.setup(17, GPIO.IN, pull_up_down=GPIO.PUD_UP)

GPIO.setup(18, GPIO.OUT)

HPHC = ''


def impulse(channel):

    global last

    global HPHC

    now = datetime.datetime.now()

    #print (now)

    delta = datetime.timedelta.total_seconds(now-last)

    #print (delta)

    last = datetime.datetime.now()

    Pinst = round(7.2/delta ,3)

    #print (Pinst)

    heure = int(now.strftime("%H"))

    minute = int(now.strftime("%M"))

    #print(heure,minute)

    if heure == 20 and minute >= 56 :

        HPHC = 'HC'

    elif heure > 20:

        HPHC = 'HC'

    elif heure == 4 and minute <= 56 :

        HPHC = 'HC'

    elif heure < 4:

        HPHC = 'HC'

    else :

        HPHC = 'HP'

    #print (HPHC)

    cursor.execute("INSERT INTO Compteur (Puiss,datetime,HPHC) VALUES (%s,%s,%s)", (Pinst,now.strftime("%Y-%m-%d %H:%M:%S"), HPHC))

    mariadb_connection.commit()

    return HPHC


GPIO.add_event_detect(17, GPIO.FALLING, callback=impulse, bouncetime=500)

print ('boucle')


while True:

    GPIO.setmode(GPIO.BCM)

    time.sleep(0.1)

    if HPHC is 'HC' :

        GPIO.output(18, GPIO.HIGH)

    elif HPHC is 'HP' :

        GPIO.output(18, GPIO.LOW)


查看完整回答
反對 回復 2022-10-05
  • 1 回答
  • 0 關注
  • 154 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號