Python 3 nach subprocess fehler script weiter ausführen?

Hallo alle zusammen, ich habe vor kurzem ein kleines Python Programm geschrieben. Alles funktioniert, aber da gibt es ein kleines ungelöstes Problem. Ich benutze im Code "subprocess.check_call()". Das funktioniert auch alles ganz gut, nur manchmal, wenn das aufgerufene Programm einen Fehler zurückmeldet, wird das ganze Programm beendet. Ich gebe mal ein Beispiel:

import subprocess
print("Die Temperatur beträgt:")
subprocess.check_call("wetter.exe -standort Hamburg", shell=True)
print("Die dritte Zeile..")

Wenn das Programm wetter.exe jetzt zum Beispiel an einer fehlenden Internet Verbindung, oder was auch immer scheitert, wird "Die dritte Zeile" nicht ausgegeben. Sondern es erscheint irgendwas mit:

Traceback (most recent call last):
  File "C:\Users\chris\Desktop\error.py", line 5, in <module>
    raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))
RuntimeError: command 'xyz' return with error (code X)

Es währe jedoch schön, wenn das Programm trotzdem weiterlaufen würde. Meinetwegen kann der Fehler ja auch angezeigt werden, aber das Programm soll allgemein weiterlaufen. ABER: Es soll erst auf eine Antwort warten, und dann weitermachen (also wie es normalerweise so ist). Es ist ok, wenn der output am ende so aussieht:

Die Temperatur beträgt:
Traceback (most recent call last):
  File "C:\Users\chris\Desktop\error.py", line 5, in <module>
    raise RuntimeError("command '{}' return with error (code {}): {}".format(e.cmd, e.returncode, e.output))
RuntimeError: command 'xyz' return with error (code X)
Die dritte Zeile..

Danke im Voraus. Und ich wollte mich eigentlich kurz fassen.. Tut mir leid.

...zur Frage

Pack dein subprocess in ein try / except, z.B.:

...
try:
     subprocess( ... usw. ...
except:
     pass
...
...zur Antwort

Wenn der USB-Stick recht billig war ist er vermutlich ein Fake.

Du kannst deinen Stick mit einem der Programme auf dieser Seite testen:

https://www.raymond.cc/blog/test-and-detect-fake-or-counterfeit-usb-flash-drives-bought-from-ebay-with-h2testw/

...zur Antwort

z.B. so (Python 3):

...
print(line1, end='')
...
...zur Antwort

Versuchs mal mit:

openssl enc -d -aes256 -md md5 -in <verschlüsselt> -out <entschlüsselt>
...zur Antwort

Nein würde ich nicht.

...zur Antwort

Sowas kannst du entweder "fertig" kaufen, z.B.:

https://www.amazon.de/gp/product/B008L0IYBI/

(lt. Rezensionen funktioniert dieses Produkt mit Siedle Anlagen, obs auch mit deiner funktioniert kann ich nicht beantworten)

oder (evtl. günstiger) selbst basteln.

...zur Antwort

0 - 0 = 0

0 - 1 = 1, Übertrag 1

1 - 0 = 1

1 - 1 = 0

00010100

-00001101

00011110 <-- Übertrag

00000111 <-- Ergebnis

...zur Antwort

Entweder du fragst denjenigen der das Passwort vergeben hat oder du versuchst es zu knacken / erraten.

Bei nicht verschlüsselter Dateiliste wird dir zwar der Inhalt des Archivs angezeigt aber ein PW verlangt sobald du auf eine Datei zugreifen möchtest.

...zur Antwort

Ich war vor knapp zwei Stunde im Zimmer meines Sohnes um ihm eine gute Nacht zu wünschen. Er bat mich unterm Bett nach Monstern zu sehen, was ich selbstverständlich gemacht habe. Als ich mich also runtergebeugt hatte und unters Bett sah, lag da mein Junge und flüsterte: "Papa da ist irgendetwas in meinem Bett"

...zur Antwort

Welches OS?

Unter Linux z.B.:

tail --lines+11 ./DATEI | head --lines=-8 > /ORDNER/DATEI
...zur Antwort
print(choice=raw_input("...

Syntax Error - print, die fehlende schließende Klammer spielt dabei auch keine große Rolle mehr.

Falls du Python 3.x nutzt, dort wurde außerdem raw_input() durch input() ersetzt.

if choice == "ja" or "JA" or ...

Ist immer wahr also wird dein if immer ausgeführt. Wenn dann willst du eher:

if choice == "ja" or choice =="JA" or ...

oder machst es ganz anders.

else choice:

Ich vermute choice steht hier nach else um einen weiteren Syntax Error zu erzeugen.

def begin():
  usw.

Kein Fehler ist aber umsonst.

...zur Antwort

Klingt nach einem PAL bzw. NTSC Problem, ändere das Farbsystem in deiner Software.

...zur Antwort