hallo
ich muss für eine übung ein python programm schreiben, welches eine datei ausliest und dann sie an einem anderen py file schickt, wie realisiere ich das in python?
und, ich suche jemanden der die nächsten paar stunden zeit hätte um mir bei der python programmierung zur hand liegen kann, ich würde auch dafür zahlen!!
ich muss es heute abgeben und brauche daher schnell hilfe!!
python: datei von py file zu einem py file schicken
@hatemjapo: was verstehst Du unter „schicken“? Wenn Du Sockets meinst, dann gibt es im Netz genug Beispiele für Python-Server-Clients. Außerdem wird ja die Aufgabe nicht aus dem Nichts kommen, sondern Du hast die Grundlagen dazu schon ein Deinem Pythonkurs drangehabt.
Wenn Du mit „Hilfe“ meinst, jemand löst Deine Aufgaben für Dich, hoffe ich, dass Du niemanden findest. Wenn Du Deinen bisherigen Code hier postest und schreibst, was nicht tut, dann bekommst Du dagegen hier Hilfe kostenfrei
Wenn Du mit „Hilfe“ meinst, jemand löst Deine Aufgaben für Dich, hoffe ich, dass Du niemanden findest. Wenn Du Deinen bisherigen Code hier postest und schreibst, was nicht tut, dann bekommst Du dagegen hier Hilfe kostenfrei
also, ich hab da ein python file, client.py, dies liest eine datei aus, teilt sie in teile und schickt sie an einem anderen python filn (server.py)
die server.py sollte dann die erhaltenen teile wieder zusammenlegen
das ist alles was ich bisher habe:
und meine server.py ist noch leer
mit hilfe will ich niemanden der mir das programm schreibt, eher jemand der mir zur hand steht wenn cih wissen will wie ich das in python realisiere, da ich python nicht so gut kann, und ich hatte kein pythonkurs, sowas wurde uns garnicht angeboten
und cih zahle weil ich die hilfe dringend brauche!
die server.py sollte dann die erhaltenen teile wieder zusammenlegen
das ist alles was ich bisher habe:
Code: Alles auswählen
def filecutter (file) :
n = 10
received = 0
with open (filename) as f:
size = f.size
hasbeensend(0)
for chunk in iter (lambda: f.read(100), ''): #the file should be cut into 100Byte pieces
send_to_server (chunk)
#waits for feedback, if it hasnt been send, then it will try for 10times
while hasbeensend(0) & n =! 0 :
send_to_server (chunk)
i = i+1
def sendtoserver (chunk) :
#send it to a server and waits for a feedback, then gives true
received = received +1
return_hasbeensend(1)
mit hilfe will ich niemanden der mir das programm schreibt, eher jemand der mir zur hand steht wenn cih wissen will wie ich das in python realisiere, da ich python nicht so gut kann, und ich hatte kein pythonkurs, sowas wurde uns garnicht angeboten
und cih zahle weil ich die hilfe dringend brauche!
@hatemjapo: der Client ist ja noch kein vollständiges Programm. Die Einrückung stimmt nicht, die Namen einiger Funktionen und Variablen sind falsch geschrieben und mehrere Funktionen sind nicht definiert und Variablen werden benutzt, ohne ihnen einen Wert zugewiesen zu haben. Das sind alles Dinge, die Du auch ohne tiefe Kenntnisse von Python reparieren kannst. Wo ist der Rest des Programms?
@hatemjapo: Nein das hast Du nicht. Der Quelltext ist ziemlicher Unsinn und ist von funktionierendem Python weit entfernt. Der Link in das Openbook hat mit dem Thema nicht viel zu tun — das Problem lässt sich problemlos ohne eigene Klassen lösen. Das Buch ist gerade bei Klassen und Objektorientierung, zumindest in der freien Ausgabe, auch nicht gut — um es mal diplomatisch auszudrücken.
Wie kann denn jemand verlangen so etwas in Python zu lösen wenn Python gar nicht gelehrt wurde? Oder sollest Du das selbstständig lernen und hast einfach nur bis zum letzten Tag mit dem Anfangen gewartet? Ich denke nicht das man das an einem Tag vernünftig hinbekommt wenn man es noch nicht einmal schafft Quelltext aus anderen Quellen mit korrekter Einrückung zu kopieren. Zusätzlich zu Pythongrundlagen ist das Thema Socket-Programmierung ja auch nicht so ganz trivial.
Wie kann denn jemand verlangen so etwas in Python zu lösen wenn Python gar nicht gelehrt wurde? Oder sollest Du das selbstständig lernen und hast einfach nur bis zum letzten Tag mit dem Anfangen gewartet? Ich denke nicht das man das an einem Tag vernünftig hinbekommt wenn man es noch nicht einmal schafft Quelltext aus anderen Quellen mit korrekter Einrückung zu kopieren. Zusätzlich zu Pythongrundlagen ist das Thema Socket-Programmierung ja auch nicht so ganz trivial.
wir sollten es selbst lernen und dann die aufgabe lösen
aber das spielt jetzt keine rolle, ich brauch jetzt hilfe
ok, das was ich da habe ist kein richtiger python code, aber ganz ehrlich, das hilft mir nicht, hilfreich wäre zu sagen was da falsch ist und wie es richtig ist (zumindest wie es geschrieben wird) und ich bessere es dann selbst aus
ich kann java und c++ programmieren, also programmierkenntnisse habe ich, nur python kenne ich noch nicht
klassen bruache ich nicht, habe ich auch nicht erstellt, ich hab nur eine methode (laut dem handbuch erstellt)
du meinst das ist keine methode? wie schaut denn ne richtige methode in python aus?
nicht falsch verstehen, war jetzt nicht böse gemeint, aber antworten wie das stimmt so nicht, oder das ist falsch, oder lies dort oder da nach helfen mir echt nicht und kostet mich zu viel zeit, ich brauch konkrete antworten wie, es sollte so ausschauen (ich will keine lösungen, aber eine richtung)
bsp, du sagst mir wie eine methode ausschaut, und ich korrigiere und passe es in meinem code
um das einrücken kümmere ich mich später, ich muss zuerst mal den code fertig haben
aber das spielt jetzt keine rolle, ich brauch jetzt hilfe
ok, das was ich da habe ist kein richtiger python code, aber ganz ehrlich, das hilft mir nicht, hilfreich wäre zu sagen was da falsch ist und wie es richtig ist (zumindest wie es geschrieben wird) und ich bessere es dann selbst aus
ich kann java und c++ programmieren, also programmierkenntnisse habe ich, nur python kenne ich noch nicht
klassen bruache ich nicht, habe ich auch nicht erstellt, ich hab nur eine methode (laut dem handbuch erstellt)
du meinst das ist keine methode? wie schaut denn ne richtige methode in python aus?
nicht falsch verstehen, war jetzt nicht böse gemeint, aber antworten wie das stimmt so nicht, oder das ist falsch, oder lies dort oder da nach helfen mir echt nicht und kostet mich zu viel zeit, ich brauch konkrete antworten wie, es sollte so ausschauen (ich will keine lösungen, aber eine richtung)
bsp, du sagst mir wie eine methode ausschaut, und ich korrigiere und passe es in meinem code
um das einrücken kümmere ich mich später, ich muss zuerst mal den code fertig haben
Da die Aufgabe wohl erst nicht heute kam, hast du wohl zu spät angefangen. Manchmal muss man es eben auf dem harten Weg lernen.hatemjapo hat geschrieben:wir sollten es selbst lernen und dann die aufgabe lösen
aber das spielt jetzt keine rolle, ich brauch jetzt hilfe
Gut: dein ganzer Code hat nicht viel mit Python zu tun, abgesehen von ein paar Schlüsselwörtern vielleicht. Ohne, dass du wenigstens das Tutorial durcharbeitest, brauchen wir dir gar nicht erst zu helfen. Dann könnten wir den Code gleich für dich schreiben.hatemjapo hat geschrieben:ok, das was ich da habe ist kein richtiger python code, aber ganz ehrlich, das hilft mir nicht, hilfreich wäre zu sagen was da falsch ist und wie es richtig ist (zumindest wie es geschrieben wird) und ich bessere es dann selbst aus
Einrückung ist Bestandteil der Syntax, darum kannst du dich nicht später kümmern, das *musst* du sofort erledigen. Wie gesagt, ohne das grundlegende Verständnis durch das von mir verlinkte Tutorial wirst du in jedem Fall scheitern.hatemjapo hat geschrieben:um das einrücken kümmere ich mich später, ich muss zuerst mal den code fertig haben
Das Leben ist wie ein Tennisball.
und genau deshalb suche ich ja hilfe
ich hab keine zeit um das tutorial durch zu machen
und aus dem grund will ich ja auch für die hilfe zahlen!!
ich brauch ne art crashkurs in python + unterstützung bei dieser ue
also bitte leute, helfts mir mit hilfreichen sachen, so dass ich zumindest irgendwas hab und verlinkts mich nicht irgendwohin, wie schon geschrieben, ich brauch konkrete antwroten
mein angebot steht noch, also schreibts mich per pn an
ich hab keine zeit um das tutorial durch zu machen
und aus dem grund will ich ja auch für die hilfe zahlen!!
ich brauch ne art crashkurs in python + unterstützung bei dieser ue
also bitte leute, helfts mir mit hilfreichen sachen, so dass ich zumindest irgendwas hab und verlinkts mich nicht irgendwohin, wie schon geschrieben, ich brauch konkrete antwroten
mein angebot steht noch, also schreibts mich per pn an
Das Tutorial ist der Crashkurs, schneller wird es dir niemand beibringen können. Hättest du damit um 15 Uhr angefangen, dann wärst du mit dem Lesen schon längst fertig.hatemjapo hat geschrieben:ich hab keine zeit um das tutorial durch zu machen
und aus dem grund will ich ja auch für die hilfe zahlen!!
ich brauch ne art crashkurs in python + unterstützung bei dieser ue
Das Leben ist wie ein Tennisball.
Wie unterschiedlich so etwas doch in verschiedenen Programmiersprachen aussehen kann. Zum Beispiel senden in CoffeeScript und Empfangen in C++ mit Qt:
main.h
main.cpp
Code: Alles auswählen
#!/usr/bin/env coffee
'use strict'
net = require 'net'
fs = require 'fs'
main = ->
client = net.connect
port: 9090
host: 'localhost'
.on 'error', (error) -> console.log 'Connection error:', error.code
.on 'connect', ->
console.log 'connected.'
fs.createReadStream 'in.bin'
.on 'error',
(error) ->
console.log "File error: #{error.path} (#{error.code})"
client.end()
.pipe client
.on 'close', -> console.log 'connection closed.'
main() if require.main == module
Code: Alles auswählen
#ifndef MAIN_H
#define MAIN_H
#include <QtCore>
#include <QtNetwork/QTcpServer>
#define BUFFER_SIZE 4096
class Main: public QObject
{
Q_OBJECT
public:
Main(QObject* parent);
private slots:
void newConnection();
private:
QTcpServer *_server;
};
#endif // MAIN_H
Code: Alles auswählen
#include <QtCore/QCoreApplication>
#include <QtNetwork/QTcpSocket>
#include "main.h"
Main::Main(QObject *parent)
{
_server = new QTcpServer(parent);
connect(_server, SIGNAL(newConnection()), SLOT(newConnection()));
_server->listen(QHostAddress::LocalHost, 9090);
qDebug() << "Listening for connections on"
<< _server->serverAddress().toString()
<< _server->serverPort();
}
void Main::newConnection()
{
QTcpSocket *socket = _server->nextPendingConnection();
Q_ASSERT(socket);
QFile file("out.bin");
qDebug() << "Opening file..." << file.fileName();
if (file.open(QIODevice::WriteOnly)) {
qint64 read_count;
char buffer[BUFFER_SIZE];
do {
read_count = socket->read(buffer, BUFFER_SIZE);
if (read_count == -1) {
qCritical() << socket->errorString();
break;
}
qint64 write_count = file.write(buffer, read_count);
if (write_count == -1) {
qCritical() << file.errorString();
break;
} else if (write_count != read_count) {
// FIXME This is actually a programmer error.
qCritical() << "Not all bytes written";
break;
}
if (read_count != 0) {
qDebug() << " copied" << read_count << "bytes...";
}
} while (read_count > 0 || socket->waitForReadyRead());
qDebug() << "Closing file..." << file.fileName();
file.close();
} else {
qCritical() << "Can not open" << file.fileName() << endl
<< file.errorString();
}
QCoreApplication::quit();
}
int main(int argc, char *argv[])
{
QCoreApplication app(argc, argv);
Main main(&app);
return app.exec();
}
Zuletzt geändert von BlackJack am Mittwoch 29. Januar 2014, 08:51, insgesamt 1-mal geändert.
Grund: CoffeeScript auf 1,7 aktualisiert.
Grund: CoffeeScript auf 1,7 aktualisiert.
Da es hier am besten reinpasst. Kann ich auf die oben beschriebene Weise auch txt-Dateien einpflegen, die Python-Quelltext enthält? Mein Ziel ist es ein Pythonprogramm zu schreiben, das der Benutzer selbst mit seinem Smartphone ändern kann. Da nicht ohne zusätzliche App Python-Dateien geändert werden können, würde ich den Quelltext, der geändert werden darf gerne in eine txt-Datei schieben.
@it-pro: Über Sockets werden Bytes übertragen. Was diese Bytes letztendlich darstellen ist dem Socket egal.