簡體   English   中英

Python腳本無法使用文件路徑運行

[英]Python script won't run using path to file

如果從終端命令行運行“ python /home/pi/temp/getTemp.py”,則會收到“錯誤,串行端口”不存在! 如果我cd到temp目錄並運行“ python getTemp.py”,它將運行良好。 誰能告訴我為什么?

#!/usr/bin/env python

import os
import sys
import socket
import datetime
import subprocess
import signal

port = "/dev/ttyUSB0"
tlog = '-o%R,%.4C'
hlog = '-HID:%R,H:%h'
clog = '-OSensor %s C: %.2C'


def logStuff(data):
    with open("/home/pi/temp/templog.txt", "a") as log_file:
        log_file.write(data + '\n')       

def main():

    try:

        output = subprocess.check_output(['/usr/bin/digitemp_DS9097U', '-q', '-a'])

        for line in output.split('\n'):

            if len(line) == 0:
                logStuff("len line is 0")
                continue

            if  'Error' in line:
                logStuff("error in output")
                sys.exit()

            line = line.replace('"','')

            if line.count(',') == 1:
                (romid, temp) = line.split(',')

            poll = datetime.datetime.now().strftime("%I:%M:%S %p on %d-%B-%y")        

            content =(romid + "," + poll + "," + temp)
            print content
            return content

    except subprocess.CalledProcessError, e:
        print "digitemp error:\n", e.output

    except Exception as e:
        logStuff('main() error: %s' %e)
        os.kill(os.getpid(), signal.SIGKILL)


if __name__ == "__main__":
    main()

它可能找不到配置文件,當使用-i初始化網絡時,該文件通常存儲在〜/ .digitemprc中。 如果它是在其他目錄中創建的,則需要始終通過傳遞-c來告訴digitemp在哪里找到它

暫無
暫無

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

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