Owfs, Python open-file

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Owfs, Python open-file

Inlägg av Oltronix »

Varför fungerar inte denna kod med open() och read() men det är ok om man fösöker få resultat via ett shell via Python eller direkt i bash-shell?

Kod: Markera allt

import time
import subprocess
delay=0

fileALL='/mnt/1wire/20.B10310000000/volt.ALL'
temp_string=subprocess.call( ['cat', fileALL])
print(temp_string)

V=[]
for I in ['A', 'B', 'C', 'D']:
   with open('/mnt/1wire/20.B10310000000/volt.'+I) as data:
      V.append(data.read())
print(V)

with open(fileALL) as data:
               time.sleep(delay)
               a=data.read()
               time.sleep(delay)
               print(a)
Resultat när koden körs...

Kod: Markera allt

pi@mumin1 ~ $ python3 volt.ALL.py 
   0.0703136,   0.0551571,    0.251566,     4.705460
['   0.0703136', '   0.0551571', '    0.251566', '     4.70546']
Traceback (most recent call last):
  File "volt.ALL.py", line 18, in <module>
    a=data.read()
IOError: [Errno 14] Bad address
Jag trodde ett tag att det var ett timing problem men det tror jag inte längre

Filesystement är owfs och ett 1-wire chip DS2450
https://owfs.org/

Kod: Markera allt

pi@mumin1 /mnt/1wire/20.B10310000000 $ ls
8bit   PIO.ALL  PIO.D    alias   id       pages      r_id       type      volt.B  volt2.A    volt2.C
CO2    PIO.B    address  crc8    locator  power      r_locator  volt.A    volt.C  volt2.ALL  volt2.D
PIO.A  PIO.C    alarm    family  memory   r_address  set_alarm  volt.ALL  volt.D  volt2.B
pi@mumin1 /mnt/1wire/20.B10310000000 $ 
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: Owfs, Python open-file

Inlägg av Oltronix »

Oops
Kör jag med Python 2.7.3 fungerar allt istället om jag kör med Python 3.2.3 enligt ovan. Hmm... Så brukar det väl inte vara men ny version nya spännande fel

Kod: Markera allt

pi@mumin1 ~ $ python volt.ALL.py 
   0.0713292,   0.0576571,    0.260707,      4.71390
['   0.0713292', '   0.0576571', '    0.260707', '      4.7139']
   0.0713292,   0.0576571,    0.260707,      4.7139
Skriv svar