ich hänge gerade fest mit 2 Problemen: (Bin für jede erklärte /dargestellte Verbesserung offen, ich muss hier noch viel lernen)
hier erstmal mein Code:
Code: Alles auswählen
login_data = XXXXXXXXX()
path='/test/try'
DB_CONN_STATEMENT = \
"""
SELECT
name
FROM
liste
WHERE
email ilike '%@test.de';
"""
with psycopg2.connect('host=XXXXX dbname=XXXX user={} password={}'.format(login_data['user'], login_data['password'])) as conn:
with conn.cursor() as cursor:
cursor.execute(DB_CONN_STATEMENT)
fetched_rows = cursor.fetchall()
f = open(path, 'a')
try:
for row in fetched_rows:
f.write(str(row) + "\n")
f.seek(0)
finally:
f.close()
fin = open("/test/try", "rt")
fout = open("/test/try1.txt", "wt")
for line in fin:
fout.write(line.replace('(', ''))
fin.close()
fout.close()
fin1 = open(""/test/try1.txt", "rt")
fout1 = open(""/test/try2.txt", "wt")
for line in fin1:
fout1.write(line.replace(')', ''))
fin1.close()
fout1.close()
So nun meine Frage,
also ich bekomme mit der DB Abfrage folgende Ausgabe :
Code: Alles auswählen
(111,)
(112,)
(113,)
(114,)
Code: Alles auswählen
111,
112,
113,
114,
Code: Alles auswählen
111,
112,
113,
114 ####(letzte Zeile ohne KOMMA)
Schöner wäre es natürlich das in einem Schritt hinzubekommen.
hatte hier auch erst probiert die org. Datei zu übschreiben:
Code: Alles auswählen
with open("/test/try", "rt") as file:
x = file.read()
with open("/test/try", "wt") as file:
x = x.replace("(", "")
fin.write(x)
Hier passierte dann folgendes: Meine try Datei war komplett leer, also statt was zu entfernen wurde alles entfernt und auch hier sehe ich keinen Lösungsweg um '(' und ')' in einem Befehl entfernt zu bekommen. Außerdem finde ich keinen Ansatz um in der letzten Zeile das letzte Komma zu entfernen. (würde ungern auf sed zurückgreifen)