Ich brauche diese Abfrage zu feuern, die auf dem Terminal läuft perfekt:Python subprocess für Abfragen mit Zitaten
sed -i '' '/default\]/a\'$'\n'' Hello world'$'\n' <PATH_TO_FILE>
Dies fügt eine Zeile weiter unten, wo ich „default]“ string finden.
Mit dem Python-Code:
query = r""" sed -i '' '/default\]/a\'$'\n'' Hello world'$'\n' %s """ % (PATH_T)_FILE)
proc = subprocess.Popen(query.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output, err = proc.communicate()
jedoch der Befehl fehlschlägt in Python mit Fehlern:
Error executing the query sed -i '' '/default\]/a\'$'\n'' Hello world'$'\n' /Users/hshah/tmpFile . output = , error = sed: 1: "'/default\]/a\'$'\n''": invalid command code '
Was ist das Problem hier sein könnte?
Die erste Zeile, die query definiert, ist kein gültiger Python-Code. –
@FullName Richtig; wahrscheinlich '(PATH_T) _FILE)' sollte '(PATH_TO_FILE)' sein. Ich frage mich, warum jemand den Code hier anstelle von Kopieren/Einfügen eingeben würde ... – glglgl