Nowe posty

xx konfiguracja sieci domowej (6)
Wczoraj o 23:58:47
clip Brak możliwości instalacji aplikacji na Opensuse Tumbleweed. (2)
Wczoraj o 23:35:02
xx petla while (11)
Wczoraj o 22:14:49
xx Repozytoria Archa (7)
Wczoraj o 21:43:06
xx Ktoś zna datę przejścia Minta 19.3 z bety do oficjala? (47)
Wczoraj o 14:28:28
xx Jak,Zrobić kopię całego dysku? (3)
Wczoraj o 08:39:41
xx Jaki linux na laptop/tablet hybrydowy? (11)
Wczoraj o 08:16:56
xx Brak rozdzielczości 16:9 ubuntu 19.04 (1)
Wczoraj o 01:46:25
xx Dziwne połączenia sieciowe! Co to jest? (14)
2019-12-13, 22:59:42
xx Conky - obraz z kamerki (11)
2019-12-13, 19:09:59

Autor Wątek: [Python] Problem z if-em (error syntax)  (Przeczytany 4741 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 49
    • Zobacz profil
[Python] Problem z if-em (error syntax)
« dnia: 2013-12-21, 21:26:59 »
Mam prosty skrypt w pythonie:
#!/usr/bin/env python
import os
import sys
#os.system("sh /root/xx.sh Wyraz1 Wyraz2")
f = os.popen("sh /root/xx.sh Wyraz1 Wyraz2")
now = f.read()
#print now,
if now == notgood:
        print "Error BASH!"
else:
        print "ok"
Skrypt SH wygląda tak:
#!/usr/bin/bash
if [ $1 = "Damian" ]; then
        echo "notgood"
        exit 0
        else
        echo "good"
fi
I teraz to ma działać na takiej zasadzie:
jeśli skrypt .sh wyrzuci error (notgood) to skrypt python powinien wypisać (error bash), ale tak się nie dzieje. Otrzymuje błąd:
Traceback (most recent call last):
  File "xx.py", line 8, in
    if now == notgood:
NameError: name 'notgood' is not defined
szukałem w google i nie mogłem znaleźć rozwiązania na swój problem. Znalazłem jedynie coś na temat funkcji
raw_input
ale z tego co widzę jest to funkcja, która "czyta" naszą odpowiedź (coś jak read w bashu). A tutaj nic takiego nie mogę użyć bo odpowiedź dostaje ze skryptu SH funkcja os. Dzięki za jakąś odpowiedź.

Offline Paweł Kraszewski

  • Administrator
  • Guru
  • *****
  • Wiadomości: 2545
  • Lenistwo jest matką potrzeby = babcią wynalazku
    • Zobacz profil
    • keybase.io/pkraszewski
[Python] Problem z if-em (error syntax)
« Odpowiedź #1 dnia: 2013-12-22, 00:12:56 »
Brakujący cudzysłów dookoła notgood w Pythonie?

A jeżeli to ma być prosta informacja zerojedynkowa z sh do Pythona, to bardziej stosowałbym kody powrotu niż parsowanie tekstu.
Paweł Kraszewski
~Gentoo/FreeBSD/OpenBSD/Specjalizowane customy