Suchpfad erweitern seit Python 3.1

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
Maple99
User
Beiträge: 44
Registriert: Montag 14. September 2009, 18:08

Grr......leider schweigt sich die Python-Doku dazu aus aber anscheinend wurde da was geändert.
Ich will aus C ein Python-Modul öffnen, Dazu muss ich den Suchpfad um das aktuelle Verzeichnis erweitern, aber ich weiß nicht wie.
Hier http://www.python-forum.de/viewtopic.ph ... 41d5a5f3af wurde ja schon eine Lösung präsentiert, aber leider hilft diese mir nicht weiter, da der Suchpafd nur auf das aktuelle Verzeichnis gesetzt wird, aber ich benötige das aktuelle Verzeichnis ZUSÄTZLICH.
Ist das echt so schwierig?
Maple99
User
Beiträge: 44
Registriert: Montag 14. September 2009, 18:08

Hat denn dazu wirklich keiner eine Idee. Die Python-Leute können doch nicht do dumm sein und nur an einer einzigen Stelle diesen Datentyp verwenden. Wie komme ich denn ohne C++ zu verwenden von char* nach wchar_t* und umgekehrt??
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Deine zwei Posts passen irgendwie nicht zusammen...
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Maple99
User
Beiträge: 44
Registriert: Montag 14. September 2009, 18:08

Hi,

vielleicht nicht offensichtlich, aber ich werde das Problem dann vielleicht noch mal spezifizieren.
Also ich hatte bisher mit Py_GetPath() den Pfad als char* geholt und an diesen "String" meinen zusätzlichen Pfad angehängt, da ich keine Möglichkeit kenne wie man den Pfad sonst erweitern kann (aus dem C-Programm). Dann habe ich den neu zusammengesetzten String per PySys_SetPath(neuerString) gesetzt und hatte den korrekten Pfad, sodass ich mein Modul importieren kann.

Seit Python3 nimmt PySys_SetPath() und gibt Py_GetPath() einen wchar* statt einen "normalen" char*. Jetzt klappt also mein String-Anhänge-Algorithmus nicht mehr da dieser nur mit char* arbeitet.
Das Problem ist, dass ich nicht weiss wie ich an einen String des Typs wchar* eine Zeichenreihe anhänge ;(
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Maple99 hat geschrieben: Seit Python3 nimmt PySys_SetPath() und gibt Py_GetPath() einen wchar* statt einen "normalen" char*. Jetzt klappt also mein String-Anhänge-Algorithmus nicht mehr da dieser nur mit char* arbeitet.
Das Problem ist, dass ich nicht weiss wie ich an einen String des Typs wchar* eine Zeichenreihe anhänge ;(
Laut meinem Büchlein "C - kurz & gut" sollten die String Funktionen für wchars in wchar.h zu finden sein. Damit sollte es eine wchar *wcsncat() Funktion geben (als Pendant zu char * strncat()).
Maple99
User
Beiträge: 44
Registriert: Montag 14. September 2009, 18:08

Oh man du hast recht, aber entweder ich bin zu blöd zwei Parameter zu übergeben oder meine Kiste will mich hier heute fertig machen. Ich bekomme immer ein SegFault, wenn ich kopieren oder konkatenieren will ;(
Hast du da noch einmal einen Tip. Selbst dieses einfaches Beispiel schläge fehl.

int main(int argc, char ** argv) {
wchar_t * s1 = L"str1\0";
wchar_t * s2 = L"str2\0";

wcscpy(s1, s2);
return 0;
}
Maple99
User
Beiträge: 44
Registriert: Montag 14. September 2009, 18:08

hat sich geklärt. Danke :D
Antworten