Bitte Beitrag löschen. Danke

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.
Antworten
Python_X_U
User
Beiträge: 5
Registriert: Donnerstag 18. März 2010, 16:28

Bitte Beitrag löschen. Danke
Zuletzt geändert von Python_X_U am Montag 22. März 2010, 21:54, insgesamt 3-mal geändert.
Benutzeravatar
Käptn Haddock
User
Beiträge: 169
Registriert: Freitag 24. März 2006, 14:27

Auf jeden Fall solltest du Code-Tags verwenden...

Gruß Uwe
---------------------------------
have a lot of fun!
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Hallo und willkommen im Forum!

Eigentlich kann dein Programm noch genau nichts ;-) Das sieht eher nach zusammenkopierten Beispielschnipseln aus. Formuliere dein Programm doch mal in Pseudocode und versuche das dann in Python umzusetzen.

Auf jeden Fall solltest du erstmal das Python-Tutorial lesen, welches es auch in deutscher Übersetzung gibt.

Sebastian

Edit: Ein passender und aussagekräftiger Name für den Thread wäre auch nicht schlecht ;-)
Das Leben ist wie ein Tennisball.
Python_X_U
User
Beiträge: 5
Registriert: Donnerstag 18. März 2010, 16:28

Bitte Beitrag löschen. Danke
Zuletzt geändert von Python_X_U am Montag 22. März 2010, 21:55, insgesamt 1-mal geändert.
Benutzeravatar
tjuXx
User
Beiträge: 67
Registriert: Freitag 21. September 2007, 09:25
Wohnort: Bremerhaven
Kontaktdaten:

- du könntest das Skript jede Stunde von deinem OS starten lassen.
- Erstelldatum mit der aktuellen Zeit (ggf. -1h) abgleichen.
Python_X_U
User
Beiträge: 5
Registriert: Donnerstag 18. März 2010, 16:28

Bitte Beitrag löschen. Danke
Zuletzt geändert von Python_X_U am Montag 22. März 2010, 21:55, insgesamt 1-mal geändert.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Python_X_U hat geschrieben:Das habe ich bereits, sonst hätte ich das nicht umsetzten können;)
Bin totaler Neuling auf dem Gebiet, daher bitte keine unerklärlichen Fachbezeichnungen verwenden, die keinen weiter helfen!
Schau dir doch bitte das Tutorial noch einmal an um die Grundlagen auch zu verstehen. Dieses Forum gibt (nur) Hilfestellung zu Python. Das Programmieren musst du schon selbst erledigen.

Was funktioniert an deinem Code denn nicht?

Grüße
Gerrit

PS - Zwei Hinweise zu deinem Code: Warum rufst du 6x ``os.path.getctime(fname)`` auf und wieso steht ``#!/usr/bin/python`` in der Zeile 13?

Edit: Stammt dein Code von diesen Seiten?
- http://www.tutorialspoint.com/python/py ... access.htm
- http://www.daniweb.com/forums/thread48831.html#
Benutzeravatar
tjuXx
User
Beiträge: 67
Registriert: Freitag 21. September 2007, 09:25
Wohnort: Bremerhaven
Kontaktdaten:

Nur wenn das Erstelldatum der Datei größer ist, als der Zeitpunkt, zu dem das Skript letztmalig duchlaufen wurde, musst du es in die DB aufnehmen.
Wenn das Skript stündlich läuft, ist das die aktuelle Zeit - 1h.

Du hast in deinem Code zwar einen cursor instanziirt, führst aber kein SQL aus. Es fehlt ein execute.

Code: Alles auswählen

# Verbindungsaufbau zu der MySQl Datenbank sowie Übergabe der Rohdaten
import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","User","Passwort","Datenbank" )

cursor = db.cursor()
cursor.execute('INSERT INTO Tabelle VALUES (wert,wert);')
# disconnect from server
db.close()
Teil dir das ganze mal in zwei Schritte auf:
Versuche zuerst richtig an die Zeitstempel zu kommen.
Erst wenn du die sicher hast, solltest du dich mit der Datenbank beschäftigen.
Python_X_U
User
Beiträge: 5
Registriert: Donnerstag 18. März 2010, 16:28

Bitte Beitrag löschen. Danke
Zuletzt geändert von Python_X_U am Montag 22. März 2010, 21:56, insgesamt 1-mal geändert.
BlackJack

@Python_X_U: Also ich vermisse ja irgendwie die Frage!?

Was auffällt ist die sehr lange Zeile in dem ersten Quelltextschnippsel. Du führst da völlig unnötig die gleichen Funktionen immer und immer wieder aus, statt das *einmal* zu machen und das Ergebnis an einen Namen zu binden oder mal `time.strftime()` anzuschauen.

Ist die DB-Tabelle so vorgegeben? SQL kennt Datentypen für Datums- und Zeitangaben. Die Grössenangabe für die `INTEGER` sind auch eigenartig. Ein Tag oder ein Monat wird doch maximal zwei Stellen haben, oder!?

Sind Zeitstempel und Dateigrösse wirklich die einzigen Informationen in der Tabelle? Was kann man damit denn anfangen? Was ist der Primärschlüssel? Braucht man dafür wirklich eine SQL-Datenbank?
Python_X_U
User
Beiträge: 5
Registriert: Donnerstag 18. März 2010, 16:28

Bitte Beitrag löschen. Danke
Zuletzt geändert von Python_X_U am Montag 22. März 2010, 21:56, insgesamt 1-mal geändert.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

zu 1. Grundsätzlich ja, allerdings solltest du das Kapitel über Funktionen im Tutorial lesen.
zu 2: Grundlagenwissen, siehe Tutorial
zu 3: Nein, siehe Antwort von BlackJack. Und lies das Tutorial

:arrow: Um das nochmal deutlich zu machen: Lies das Sch*** Tutorial! Wenn du einen Programmierer einstellen möchtest, der deine Arbeit macht, kannst du im Offtopic-Forum ein Jobangebot posten.
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Python_X_U hat geschrieben: 1. Ist es korrekt, wenn das Auslesen des Zeitstempel sowie die Verbindung zu der Datenbank alles in einem Script stehen?

2. Wie kriege ich es hin, dass das Script als aller erstes auf einem Ordner zugreift, dann den Zeitstempel der aktuellen Datei ausließt, dann diese splittet, damit sie von der Datenbank auch verstanden werden kann?

3. Ist die Datenbank Tabelle so korrekt aufgebaut?
Tag varchar(2), Monat varchar(2), Jahr varchar(4), Stunde varchar(2), Minute varchar(2), Sekunde varchar(2), Dateigröße varchar(30)
1: Ja, aber das heißt noch nicht, dass der Aufbau damit automatisch gut ist.
2: Indem du das Programm so schreibst, dass die Funktionen in der richtigen Reihenfolge ausgeführt werden.
3: Wäre das ein Lösungsversuch in einer bewerteten Prüfung dann wärest du durchgefallen.

Alles in allem spricht dein Stil dafür, dass du bisher noch niemals programmiert hast. Das ist ja nichts dramatisches, aber man neigt leicht dazu, die Komplexität zu unter- und die eigenen Fähigkeiten zu überschätzen. Du solltest jetzt vorzugsweise erst einmal das Tutorial durcharbeiten, um dir Grundwissen anzueignen.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Und die Posts mit "Bitte Beitrag löschen. Danke" zu ersetzen wird dazu führen dass du bei deinem nächsten Thread genau 0 Antworten bekommst.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
snafu
User
Beiträge: 6881
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Aber er hat sich die unerträgliche Peinlichkeit erspart, eine Frage im Forum stehen zu haben, die er nun beantworten kann. Merke: Echte Hacker stellen keine Fragen. Ihnen wurde das Wissen sozusagen von Geburt an in die Wiege gelegt. ;)
Antworten