Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: random sort scriptje python  (gelezen 842 keer)

Offline marc heijerman

  • Lid
  • Steunpunt: Nee
random sort scriptje python
« Gepost op: 2010/11/10, 19:52:38 »
Ik heb een klein vraagje mbt een python scriptje om de inhoud van een tekst bestand random te sorteren, net als in bash: sort -R

Hier het scriptje dat ik nu gemaakt heb:

#!/usr/bin/python

file1 = "test"
file2 = "test-sorted"

han1 = open(file1, "r")
han2 = open(file2, "w")

read1 = han1.readlines()
han2.writelines(read1)

han1.close()
han2.close()
Ik praat niet te snel, je luisterd te langzaam ;-)

Offline Nunslaughter

  • Lid
    • timovwb
  • Steunpunt: Nee
Re: random sort scriptje python
« Reactie #1 Gepost op: 2010/11/10, 20:02:34 »
readlines() zal een list teruggeven. Dus om de list te sorteren:
read1 = han1.readlines()
read1.sort()
han2.writelines(read1)

Offline commandoline

  • LoCo-contact
    • marten-de-vries
    • Marten-de-Vries.nl
  • Steunpunt: Nee
Re: random sort scriptje python
« Reactie #2 Gepost op: 2010/11/10, 20:24:07 »
'random sorteren' klinkt me wat vreemd in de oren, maar voor het geval je shufflen bedoelt:

import random
#handlers initialiseren

read1 = han1.readlines()
read1 = random.shuffle(read1)
han2.writelines(read1)

#Sluiten van handlers (.close())

Offline marc heijerman

  • Lid
  • Steunpunt: Nee
Re: random sort scriptje python
« Reactie #3 Gepost op: 2010/11/10, 22:39:36 »
Bedankt.
Ik praat niet te snel, je luisterd te langzaam ;-)

Offline marc heijerman

  • Lid
  • Steunpunt: Nee
Re: random sort scriptje python
« Reactie #4 Gepost op: 2010/11/10, 23:17:30 »
'random sorteren' klinkt me wat vreemd in de oren, maar voor het geval je shufflen bedoelt:

import random
#handlers initialiseren

read1 = han1.readlines()
read1 = random.shuffle(read1)
han2.writelines(read1)

#Sluiten van handlers (.close())

Ik bedoelde shuffle. Ben net begonnen met python. Heb die CBT bekeken, maar ja dat is helaas erg basic allemaal. Ik moet nog een goede manier vinden om het goed onder de knie te krijgen.
Ik praat niet te snel, je luisterd te langzaam ;-)