Hallo zusammen,
ich möchte eine Liste von Strings an eine Funktion übergeben, die aber
ein File-Objekt erwartet. Gibt es eine Möglichkeit, die Liste
umzuwandeln? Bisher behelfe ich mir dadurch, dass ich die Liste in eine
temporäre Datei schreibe und daraus anschließend wieder lese. Das
scheint mir nicht sehr elegant.
Gruss,
Andreas
--
Andreas Grytz | http://www.linuxnewmedia.de
Stefan-George-Ring 24 | Tel: +49 (0) 89 993411-0
D-81929 München | Fax: +49 (0) 89 993411-99
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
MoinMoin,
ich habe hier eine relativ simple Aufgabe...es funktioniert auch alles
nur leider zu langsam...vielleicht kann mir einer einen Tip gebe, wie ich
das ganze beschleunigen kann...
Ich habe 3 Listen:
Bsp. List1:
a1|b1
c1|d3
e3|i4
...
List2:
a1|111
t1|222
e3|555
....
Liste3:
w6|666
u8|777
b1|888
....
Ablauf: Durchlaufe Liste1...also:a1|b1 (=1. Linie)
Suche a1 in Liste2, wenn gefunden suche b1 in Liste3 und
gib jeweils das Pärchen aus, also
a1 -> 111, b1 -> 888
Die Listen habe so 20 MB mit ca. 1 Mio Einträge...
Ich habe schon einiges rumprobiert, ob es besser ist die Listen komplet
einzlesen,
oder jeweils zeilenweise durchzugehen...
Naja unten ist mein Ergebnis. Leider dauert das ganze immer noch Stunden.
Ich bin für jeden Tipp dankbar, wie ich das schneller hinkriege...
Vielen Dank
und Grüße Frank
#!/usr/local/bin/python
import string, sys
mypath="/user1/daten/test/"
linklist_path=mypath+"Link.lis"
partlist_path=mypath+part.lis"
partlist_ci_path=mypath+part_ci.lis"
result_path=mypath+result.lis"
partlist=open(partlist_path, "r").readlines()
partlist_ci=open(partlist_ci_path, "r").readlines()
#len_linklist=len(open(linklist_path, "r").readlines())
result_list=[]
len_partlist=len(partlist)
file = open(linklist_path, "r")
line =file.readline()
count = 1
while 1:
split1=string.strip(string.split(line, "|")[0])
for my1line in partlist_ci:
if split1 == string.split(my1line, "|")[0]:
ci=string.strip(string.split(my1line,"|")[1])
print "found ci", ci
split2=string.strip(string.split(line,"|")[1])
for my2line in xrange(len_partlist):
if split2 ==
string.split(my2line, "|")[0]:
ds=string.strip(string.split(my2line, "|")[1]) #
hier sind die Zeile
verrutscht...
result_list.append(ci+"|"+ds+"\n")
break
break
#print count,len_linklist
#count += 1
line=file.readline()
if not line:break
file.close()
result_file = open(result_path, "w")
result_file.writelines([x for x in result_list ])
result_file.close()
--
COMPUTERBILD 15/03: Premium-e-mail-Dienste im Test
--------------------------------------------------
1. GMX TopMail - Platz 1 und Testsieger!
2. GMX ProMail - Platz 2 und Preis-Qualitätssieger!
3. Arcor - 4. web.de - 5. T-Online - 6. freenet.de - 7. daybyday - 8. e-Post
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Hallo,
ich spiele gerade mit Shelve rum, komme allerdings nicht weit, da Python
bei dem Versuch, ein Datenbankobjekt anzulegen, folgenden Fehler bringt:
>>> import shelve
>>> f = shelve.open('foo', 'c')
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/lib/python2.2/shelve.py", line 158, in open
return DbfilenameShelf(filename, flag)
File "/usr/lib/python2.2/shelve.py", line 148, in __init__
Shelf.__init__(self, anydbm.open(filename, flag))
File "/usr/lib/python2.2/anydbm.py", line 86, in open
return mod.open(file, flag, mode)
dbm.error: (37, 'No locks available')
Was geht da schief?
Danke und Gruß,
Heiko
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Hallo,
erst mal ein großes Lob an Gerhard, ich habe (wie schon gesagt) eine
einfache Intranet-Anwendung (ca. 20 Anwender) von Oracle nach PySQLite
portiert und habe bis heute keine Schwierigkeiten feststellen können.
Ich setze Twisted-Woven und Twisted-Enterprise ein und haben keine
Umstellungen am Code vornehmen müssen.
-- gruss Martin
*natürlich an die Liste und nicht an Gerhard ;-)*
-----Ursprüngliche Nachricht-----
Von: python-de-bounces(a)python.net [mailto:python-de-bounces@python.net]
Im Auftrag von Gerhard Häring
Gesendet: Dienstag, 26. August 2003 09:18
An: python-de(a)python.net
Betreff: Re: [Python-de] PySQLite-Erfahrungen?
Gherman wrote:
> Hallo,
>
> ich schnueffle gerade in SQLite und seiner Python-Huelle herum. Von
> der Verpackung her zu urteilen (man muss sich, zumindest auf OS X und
> bei SQLite, noch ein wenig "die Finger schmutzig" machen)
Heisst was? Irgendwelche konkreten Verbesserungsvorschläge für PySQLite?
> wuerde ich sagen: so ultra-robust ist es vielleicht noch nicht, oder?
> Aber der Inhalt kann ja durchaus besser sein, als die Ver- packung...
> ;-)
>
> PySQLite hat es da, natuergemaess, leichter, wenngleich man sich dabei
> auch z.B. nicht unbedingt wuenscht, die Doku selbst bauen zu muessen,
> zumal man dazu Links auf private Python-Interpreter aendern muss,
> etc...
Problem ist bekannt. Liegt am Dokumentationsformat (Python/LaTex) und
ich wüsste nicht, wie man das viel besser lösen könnte. Da ich die Doku
selber nicht geschrieben habe und auch LaTex nicht kann, steht evtl. mal
ein Umstieg auf z. B. Docbook (kann ich halbwegs) oder ReSt an. Docbook
ist von der Toolchain nicht unbedingt weniger krampfig als Python/LaTex,
also würde es wohl ReSt werden. Oder einfach OpenOffice :)
> Daher also die Fragen: wie aktiv wird an diesen Paketen gearbeitet,
> was ist zu erwarten, wer hat welche Erfahrungen damit gemacht?
An PySQLite 0.4.x wird so aktiv gearbeitet, wie es nötig ist :) Es sind
seit Ewigkeiten von Benutzern keine Bugs mehr gefunden worden, die ich
nicht bereits zuvor im CVS gefixt hätte. Also ist es wohl relativ stabil
;-)
0.4 ist für mich der stabile Branch, an dem auch nur noch Bugfixes
einfliessen werden.
0.5 wird eine komplette Neuentwicklung von PySQLite werden, und ich bin
momentan noch am Experimentieren. Das Ziel ist bestmögliche Performance,
weil das für einige Anwendungsbereiche nötig ist. Das heisst im
Umkehrschluss übrigens nicht, dass die jetzige Implementierung zu
langsam ist. Ich tendiere im Moment dazu, alles in PyRex neu zu
schreiben und das PgResultSet, das ich aus pyPgSQL importiert habe,
durch db_row [1] zu ersetzen.
> Ist die API speziell von PySQLite kompatibel zum Python-Datenbank-
> Interface?
Ein Plus von PySQLite ist m. E. nach die ziemlich umfangreiche
Testsuite. Es gibt momentan 114 Tests, wovon sich auch ein paar mit der
DB-API befassen. Ansonsten kann ich sagen, dass PySQLite relativ
kompatibel zu pyPgSQL ist (wurde ja viel davon geklaut) ;-)
> Wozu taugt (Py)SQLite definitiv nichts?
Ich persönlich würde es nicht für Webprojekte oder allgemein
Multiuserprojekte einsetzen (wenn ich so was mache, hab ich vernünftige
Server mit Apache+PostgreSQL). Was scheinbar andere Leute nicht davon
abhält, das relativ erfolgreich zu tun (z. B. PyPI auf python.org). Ich
hab für diesen Anwendungsbereich mittlerweile auch die relevanten SQLite
Funktionen gewrappt. Im einfachsten Fall übergibst du beim .connect
einfach einen Timeout-Parameter:
cx = sqlite.connect("c:/tmp/db", timeout=5000) # 5 Sekunden Timeout
Da SQLite auf eine Datei zugreift, wird diese bei Schreiboperationen
bzw. Transaktionen komplett gesperrt. Solange diese Transaktion offen
ist, kann kein anderer Prozess auf diese Datenbank zugreifen, auch nicht
lesend. Der timeout-Parameter gibt an, wie lange maximal gewartet werden
soll, bis die Sperre auf die Datei freigegeben worden ist. Nach dem
Timeout gäbe es dann was Lustiges wie "_sqlite.OperationalError:
database is locked".
Allgemein sind längere Transaktionen bei einer "richtigen"
Multiuserdatenbank kein Problem, wärend man bei (Py)SQLite da aufpassen
muss.
> Immerhin ist Gerhard Haering von dieser Liste einer der Betreuer von
> PySQLite.
Ich bin de-fakto seit einem Jahr der einzige Maintainer :-D
-- Gerhard
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Am 26.08.2003 um 08:47 Uhr haben Sie geschrieben:
> > (mmh, hört sich irgendwie nach FAQ an, gefunden habe ich
> allerdings
> > nichts)
>
> PyPerl könnte helfen:
Ich habe einen neuen Eintrag bei mir gemacht und dies hinzugefügt:
http://www.kubieziel.de/moin.cgi/Wie_20kann_20ich_20ein_20Perl_2dModu
l_20in_20Python_20nutzen_3f
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
hallo zusammen,
ich hab ne c++ lib, die ich für python extenden will. in der lib gibt es ne
funktion die nen socket-connect macht. wenn ich den connect jetzt aus
python benutzen will, klappt das nicht. Ich krieg jedoch keine fehlermeldung
oder exception dass der connect fehlgeschlagen hat.
hab die lib dann mal unter c++ benutzt und da funktioniert das ganze
wunderbar.
Kann mir irgendjemand weiterhelfen oder nen tipp geben wo das problem
liegt???
muss ich vielleicht irgenwas beachten wenn ich so nen socket-connect
extende???
Benutze übrigens für das extenden bjam mit msvc.
gruss
benny
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Hallo,
ich schnueffle gerade in SQLite und seiner Python-Huelle herum.
Von der Verpackung her zu urteilen (man muss sich, zumindest auf
OS X und bei SQLite, noch ein wenig "die Finger schmutzig" machen)
wuerde ich sagen: so ultra-robust ist es vielleicht noch nicht,
oder? Aber der Inhalt kann ja durchaus besser sein, als die Ver-
packung... ;-)
PySQLite hat es da, natuergemaess, leichter, wenngleich man sich
dabei auch z.B. nicht unbedingt wuenscht, die Doku selbst bauen
zu muessen, zumal man dazu Links auf private Python-Interpreter
aendern muss, etc...
Daher also die Fragen: wie aktiv wird an diesen Paketen gearbeitet,
was ist zu erwarten, wer hat welche Erfahrungen damit gemacht?
Ist die API speziell von PySQLite kompatibel zum Python-Datenbank-
Interface? Wozu taugt (Py)SQLite definitiv nichts? Immerhin ist
Gerhard Haering von dieser Liste einer der Betreuer von PySQLite.
Danke,
Dinu
PS: http://www.sqlite.orghttp://pysqlite.sourceforge.net
--
Dinu C. Gherman
......................................................................
"We will accept no output except complete victory."
("President" George W. Bush, 2003)
"Do you believe... in the final total victory?"
(Joseph Goebbels, 1943)
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
n'Abend,
ich möchte ein Perl-Modul (in meinem Fall HTML::BarGraph) aus Python
heraus nutzen.
Hat jemand Hinweise, wie ich sowas mache, bzw. wie ich einen Wrapper
um sowas herum schreiben kann?
(mmh, hört sich irgendwie nach FAQ an, gefunden habe ich allerdings
nichts)
Lutz
---
elektroelch.de -- free news for a free world
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Hi Liste,
wie schon im Betreff erwähnt, würde ich gern mit einem (mehr oder
weniger)kleinen Pythonscript auf den LTP zugreifen / ihn ansteuern.
Ich habe auch schon gegoogelt, aber da auch keine richtigen Infos
gefunden..
Deshalb wollte ich hier mal fragen ob mir irgenteiner zumindest n
Tip geben kann wo ich einen Einstieg finde oder welche Module ich
benötige.
Gruß Uli
--
/"\ mailto:ulih.@firemail.de
\ /
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de
Hi,
ich wollte gerade Python 2.1.3 (wg. Zope 2.6.2) auf einer RH-9-Box
installieren (dort existiert ein Python 2.2.2) und bekomme beim Import von
socket folgende Fehlermeldung:
Python 2.1.3 (#1, Aug 21 2003, 15:20:38)
[GCC 3.2.2 20030222 (Red Hat Linux 3.2.2-5)] on linux2
Type "copyright", "credits" or "license" for more information.
>>> import socket
Traceback (most recent call last):
File "<stdin>", line 1, in ?
File "/usr/local/lib/python2.1/socket.py", line 41, in ?
from _socket import *
ImportError: No module named _socket
>>>
Was mache ich hier falsch?
Python habe ich wie immer mit ./configure, make, make install installiert.
*ratlosguck*
Jürgen
_______________________________________________
Python-de maillist - Python-de(a)python.net
http://python.net/mailman/listinfo/python-de