Batch Dateien ausführen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
problembär

Leonidas hat geschrieben:
problembär hat geschrieben:Ich sehe das mehr von der Programmierer-Seite, der bei "os.system()" sofort sieht, was gemeint ist, ohne sich durch Modul- und Klassendokumentationen zu wühlen.
Huch, jetzt erzähl doch nicht, dass das bei ``subprocess.Popen`` nicht klar ist?! Ein "Programmierer" der ``os.system`` versteht aber ``subprocess.Popen`` oder ``subprocess.call`` nicht sollte sich vielleicht mit was anderen beschäftigen.
Damit meinte ich vor allem Leute, die von C und Perl kommen. In beiden gibt es die "system();"-Funktion, aber die 'subprocess.Popen'-Klasse dürfte (soweit ich weiß) eine Python-Spezialität sein. (Klassen überhaupt sind dort weniger gebräuchlich.)
Gartenbau ist eine gute Sache. ;)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

problembär hat geschrieben:
Leonidas hat geschrieben:
problembär hat geschrieben:Ich sehe das mehr von der Programmierer-Seite, der bei "os.system()" sofort sieht, was gemeint ist, ohne sich durch Modul- und Klassendokumentationen zu wühlen.
Huch, jetzt erzähl doch nicht, dass das bei ``subprocess.Popen`` nicht klar ist?! Ein "Programmierer" der ``os.system`` versteht aber ``subprocess.Popen`` oder ``subprocess.call`` nicht sollte sich vielleicht mit was anderen beschäftigen.
Damit meinte ich vor allem Leute, die von C und Perl kommen. In beiden gibt es die "system();"-Funktion, aber die 'subprocess.Popen'-Klasse dürfte (soweit ich weiß) eine Python-Spezialität sein. (Klassen überhaupt sind dort weniger gebräuchlich.)
Gartenbau ist eine gute Sache. ;)
Sollte ich jetzt besser auch

Code: Alles auswählen

for i in range(len(liste)):
    liste[i] ...
verwenden, damit es alle verstehen? Wenn man eine neue Sprache lernt, muss man auch die üblichen Konstrukte und Standardbibliotheken lernen.
Das Leben ist wie ein Tennisball.
problembär

EyDu hat geschrieben:Sollte ich jetzt besser auch

Code: Alles auswählen

for i in range(len(liste)):
    liste[i] ...
verwenden, damit es alle verstehen?
LOL: Tatsächlich verwende ich das genau so. Aber jeder, wie er mag (wenn's keine beruflichen Zwänge usw. dabei gibt), oder?
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

problembär hat geschrieben:LOL: Tatsächlich verwende ich das genau so. Aber jeder, wie er mag (wenn's keine beruflichen Zwänge usw. dabei gibt), oder?
Indem Fall geht es noch (vorrausgesetzt es wird nicht wiederholt sobald du drauf angesprochen wirst) aber bei os.system ist es einfach nur eine Dummheit die durch Unwissenheit nicht besser wird.

Davon unabhängig ist es der beste Weg sicherzustellen dass der nächste Patch/Pull Request noch nichtmal angesehen wird wenn man einen solchen irgendwem schickt.

Wenn man vor hat ernsthaft Hilfe zu bekommen für nicht-triviale Probleme oder bei irgendeinem Projekt mitarbeiten möchte welches von Leuten maintained wird die tatsächlich erwähenswert mehr Ahnung haben sollte man sich also angewöhnen Dokumentationen komplett durchzulesen und einen brauchbaren Stil entwickeln.

Wenn jemand eine grausame Schrift hat schaut man sich seine Texte auch nicht an, dass ist beim Programmieren nicht viel anders. Desweiteren ist es durchaus eine Frage des Respekts ob man jemandem schlechten Code abliefert oder nicht, vorrausgesetzt man weiß es besser oder zeigt zumindest den Willen sich zu bessern.
lunar

@problembär: Von "system()" wird auch in C allgemein abgeraten.

Natürlich, jeder nach seinem Belieben, diese Feststellung ist unbestritten, doch jeder wird sich zu dem Belieben des Anderen seinen Teil denken. Allzu abweichende Ansichten, zumal wenn sie offensichtlich problematische Lösungen verteidigen, sind folglich nicht geeignet, das Bild eines guten und erfahrenen Programmierers zu vermitteln.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

problembär hat geschrieben:Tatsächlich verwende ich das genau so. Aber jeder, wie er mag (wenn's keine beruflichen Zwänge usw. dabei gibt), oder?
Ja natürlich. Ist aber dann die Frage ob es sinnvoll ist hier Leuten dann Tipps in diese Richtung zu geben. Vielleicht wollen sie ja idiomatisches Python lernen (weswegen hier ja auch allgemein vom Openbook abgeraten wird).

Ich für meinen Teil finde ``subprocess.Popen(["echo", "Das ist ein String sogar mit 'Quotes'"])`` ja einfacher zu verstehen als ``os.system("echo Das ist ein String sogar mit \'Quotes\'"), wenn ich das jetzt überhaupt richtig escaped hab (was mir auch relativ egal ist, weil ich nicht manuell escapen will, weils so unpraktisch ist).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten