Ik ben gisteren met python begonnen. Wilde er al een tijdje aan beginnen, maar kwam er telkens niet van, maar had nu heel erg een proggie nodig, dus dacht: goed moment 
Anyways, na wat gezweet heb ik een eerste versie in elkaar kunnen draaien en ben toen gaan zoeken naar hoe je er een executable van kon maken. En ook dat is gelukt.
Tot mijn grote schrik wordt het geheel alleen ruim 5 MB groot! Dat kan toch niet de bedoeling zijn? Vind het verder ook een beetje jammer dat het niet gewoon 1 exe file wordt, maar gelijk 189 files verdeelt over 14 directories. En dat voor zoiets simpels.... (Ik heb hiervoor py2exe gebruikt).
Is dat gewoon niet anders als je python gebruik?
Ik zal m'n broncode even geven, misschien dat ik wel iets niet goed doe:
Er zal nog wel onwijs veel aan mankeren, maar het is dan ook pas m'n eerste proggie in python (heb verder alleen php ervaring). (die functie writefile() is bijvoorbeeld een beetje overbodig). Ook moet ik nog heel veel dingen inbouwen zoals nette foutafhandeling, exit-knopje, etc. Dat weet ik.
Maar wat ik dus eerst graag wil weten is: is het normaal dat die executable met alle andere files erbij zo groot worden en zoveel? Of ligt dat aan mijn code dat het zo groot wordt?
Anders vind ik het nog wel het overwegen waard om op een andere programmeertaal over te stappen, want ik wil in de toekomst nog wel wat meer van dit soort 'kleine' dingen schrijven. If so, welke raden jullie me dan aan?
Anyways, na wat gezweet heb ik een eerste versie in elkaar kunnen draaien en ben toen gaan zoeken naar hoe je er een executable van kon maken. En ook dat is gelukt.
Tot mijn grote schrik wordt het geheel alleen ruim 5 MB groot! Dat kan toch niet de bedoeling zijn? Vind het verder ook een beetje jammer dat het niet gewoon 1 exe file wordt, maar gelijk 189 files verdeelt over 14 directories. En dat voor zoiets simpels.... (Ik heb hiervoor py2exe gebruikt).
Is dat gewoon niet anders als je python gebruik?
Ik zal m'n broncode even geven, misschien dat ik wel iets niet goed doe:
Python:
Wat het doet: het leest een directorie in en scant vervolgens voor bookmarkfiles, waar het de bookmark uit haalt en wegschrijft in een file (hierbij wordt ook de directorie waarin de bookmark staat weggeschreven)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
| from Tkinter import * import os import os.path class App: def __init__(self, master): frame = Frame(master) frame.pack() self.button = Message(frame, text="Enter Bookmarks Dir", fg="black") self.button.pack(side=LEFT) self.location = Entry(frame, fg="blue") self.location.pack(side=LEFT) self.hi_there = Button(frame, text="OK", command=self.writefile) self.hi_there.pack(side=LEFT) def writefile(self): print self.location.get() self.getfilecontents(self.location.get()) def getfilecontents(self, ld, deep="", defaultdir=""): output="" if len(defaultdir) > 0: deep = deep+'|DIR|'+defaultdir d = os.listdir(ld) for x in d: path = ld+'\\'+x if os.path.isdir(path): f=open('urls2.txt','a') f.write(output) f.close() output="" print 'listing '+path self.getfilecontents(path, deep, x) else: if x[-3:] == "url": name = x[0:-4] f=open(path, 'r') allines=f.readlines() f.close() for l in allines: if l[0:3] == "URL": output = output+deep+'|BKMRK|'+name+'||'+l[4:-2]+'\n' f=open('urls2.txt','a') f.write(output) f.close() root = Tk() app = App(root) root.mainloop() |
Er zal nog wel onwijs veel aan mankeren, maar het is dan ook pas m'n eerste proggie in python (heb verder alleen php ervaring). (die functie writefile() is bijvoorbeeld een beetje overbodig). Ook moet ik nog heel veel dingen inbouwen zoals nette foutafhandeling, exit-knopje, etc. Dat weet ik.
Maar wat ik dus eerst graag wil weten is: is het normaal dat die executable met alle andere files erbij zo groot worden en zoveel? Of ligt dat aan mijn code dat het zo groot wordt?
Anders vind ik het nog wel het overwegen waard om op een andere programmeertaal over te stappen, want ik wil in de toekomst nog wel wat meer van dit soort 'kleine' dingen schrijven. If so, welke raden jullie me dan aan?