PythonScript liest ein Input File und schreibt Output File
Hallo zusammen,
ich bin neue in Python. Ich brauche ein Python Script 2.6, 2.7, das folgende Input File einliest.
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
cc_abus_pl_fa_part1.sh
cc_abus_pl_fa_part2.sh
cc_abus_pl_fa_part3.sh
cc_abus_pl_fa_part4.sh
cc_abus_pl_fa_part5.sh
cc_abus_pl_fa_part6.sh
cc_abus_pl_fa_part7.sh
cc_abus_pl_fa_part8.sh
cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
cc_vision_interface_part1.sh
cc_vision_interface_part2.sh
cc_vision_interface_part3.sh
cc_vision_interface_part4.sh
cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
Und schreibt das in ein File so:
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_abus_pl_fauz_part1.sh, cc_abus_pl_fa_part2.sh, cc_abus_pl_fa_part3.sh, cc_abus_pl_fa_part4.sh,
cc_abus_pl_fa_part5.sh, cc_abus_pl_fa_part6.sh, cc_abus_pl_fa_part7.sh, cc_abus_pl_fa_part8.sh "
-F cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_vision_interface_part1.sh, cc_vision_interface_part2.sh, cc_vision_interface_part3.sh,
cc_vision_interface_part4.sh"
-F cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
Ic würde mich sehr freuen, wenn jemand mir helfen könnte. Danke im Voraus.
Alonso
ich bin neue in Python. Ich brauche ein Python Script 2.6, 2.7, das folgende Input File einliest.
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
cc_abus_pl_fa_part1.sh
cc_abus_pl_fa_part2.sh
cc_abus_pl_fa_part3.sh
cc_abus_pl_fa_part4.sh
cc_abus_pl_fa_part5.sh
cc_abus_pl_fa_part6.sh
cc_abus_pl_fa_part7.sh
cc_abus_pl_fa_part8.sh
cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
cc_vision_interface_part1.sh
cc_vision_interface_part2.sh
cc_vision_interface_part3.sh
cc_vision_interface_part4.sh
cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
Und schreibt das in ein File so:
cc_oo_g_csss.sh
cc_oo_guv_zppp.sh
cc_aba_ddd.sh
cc_aba_ccxyp.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_abus_pl_fauz_part1.sh, cc_abus_pl_fa_part2.sh, cc_abus_pl_fa_part3.sh, cc_abus_pl_fa_part4.sh,
cc_abus_pl_fa_part5.sh, cc_abus_pl_fa_part6.sh, cc_abus_pl_fa_part7.sh, cc_abus_pl_fa_part8.sh "
-F cc_abus_pl_fa_merge.sh
cc_abac_nsv_ssd.sh
cc_abac_kriv.sh
cc_rufrep_nia_inst_leg.sh
cc_rufrep_nia_inst_comb.sh
cc_rufrep_nia_inst_flow.sh
cc_rufrep_nia_inst.sh
cc_vision_kriv.sh
D:\Temp\c_run_multiple_shell_skripts.sh
-S "cc_vision_interface_part1.sh, cc_vision_interface_part2.sh, cc_vision_interface_part3.sh,
cc_vision_interface_part4.sh"
-F cc_vision_interface_merge.sh
cc_vision_deriv.sh
cc_ria_flows_rep_plain.sh
cc_iaed_fls_rep_merge.sh
Ic würde mich sehr freuen, wenn jemand mir helfen könnte. Danke im Voraus.
Alonso
Please also mark the comments that contributed to the solution of the article
Content-Key: 297472
Url: https://administrator.de/contentid/297472
Printed on: April 19, 2024 at 23:04 o'clock
12 Comments
Latest comment
Hallo Alonso, Willkommen auf Administrator.de!
Also wenn ich deine leider ohne Codetags geposteten Zeilen, so wie sie dort stehen, interpretiere sieht das z.B. so aus:
Grüße Uwe
-edit- kleine Korrektur
Also wenn ich deine leider ohne Codetags geposteten Zeilen, so wie sie dort stehen, interpretiere sieht das z.B. so aus:
#!/usr/bin/python
# Zeilen der Textdatei 'inputfile.txt' in ein Array einlesen
with open('inputfile.txt') as f:
content = f.readlines()
# Ausgabevariable
out = ""
# Zeilen nach Vorgabe in Variable schreiben
out += ''.join(content[:4])
out += "D:\Temp\c_run_multiple_shell_skripts.sh\n"
out += '-S "' + ",".join(content[4:12]).replace('\n','') + '"\n'
out += '-F ' + content[12] + '\n'
out += ''.join(content[12:20])
out += "D:\Temp\c_run_multiple_shell_skripts.sh\n"
out += '-S "' + ",".join(content[19:24]).replace('\n','') + '"\n'
out += '-F ' + content[24] + '\n'
out += ''.join(content[25:28])
# Variable in Ausgabedatei 'outputfile.txt' schreiben
f = open('outputfile.txt', 'w')
f.write(out)
f.close()
-edit- kleine Korrektur
Zitat von @Alonso77:
Hier soll man nicht mit Zeilennummer arbeiten, sonder PythonSkript soll nach strings suchen.
Guckst du hier wie man das macht:Hier soll man nicht mit Zeilennummer arbeiten, sonder PythonSkript soll nach strings suchen.
http://stackoverflow.com/questions/4843158/check-if-a-python-list-item- ...
Gruß jodel32
Ok, das ist ja nun was ganz anderes. Vielleicht machst du dir das nächste mal die Mühe und schreibst das direkt etwas detaillierter in deinen ersten Post, dann müssen wir hier nicht immer die Glaskugel bemühen ...
So jetzt solltest du Input en masse haben wie man so was machen kann. Eine eventuelle Anpassung sollte durch die Kommentare im Code, für dich nun kein Problem mehr darstellen.
Viel Erfolg
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
#!/usr/bin/python
# Ausgabedatei zum beschreiben öffnen
fout = open('outputfile.txt', 'w')
# Variable die die parts sammelt
parts =
# für jede Zeile der Eingabedatei
with open('inputfile.txt','r') as f:
for l in f:
# wenn der String 'part' in der Zeile gefunden wird dann schreibe die Zeile in das Array
if 'part' in l:
parts.append(l.replace('\n',''))
else:
# wenn die Zeile kein 'part' mehr enthält und das Array nicht leer ist dann schreibe die Elemente wie gewünscht in die Ausgabedatei
if parts != :
fout.write('D:\Temp\c_run_multiple_shell_skripts.sh\n')
fout.write('-S "' + ','.join(parts) + '"\n')
fout.write('-F ' + l)
# Array Variable leeren für nächste Part-Liste
parts =
else:
# normale Zeile, einfach in Zieldatei schreiben
fout.write(l)
fout.close()
Viel Erfolg
Grüße Uwe
Falls der Beitrag gefällt, seid so nett und unterstützt mich durch eine kleine Spende / If you like my contribution please support me and donate
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen nicht vergessen. Merci.
Falls ich nicht so detailliert erklärt habe, bitte erstmal fragen. Danke im Voraus.
Sorry, aber ????????Nur bevor man in ein Output File schreibt, müssen die doppelte Zeilen gelöscht werden
Das ist kein Problem: Removing duplicates in lists
Leeres Array erstellen, dort dann alle deine Zeilen in der For-Schleife mit Append reinpacken, dann mit set() die doppelten Zeilen entfernen und dann erst ganz zum Schluss das Array in das File schreiben.