Ich arbeite an etwas. Hier ist, was der CodeWie kann ich eine Datei lesen, Inhalt in ein Array, mischen Sie das Array, und dann schreibe das gemischt Array in die Datei in Python 2.7
- Lesen Sie die Datei
- Setzen Sie jede Zeile in ein Element in einem Array
- Mische das Array in möglichst viele schlurft tun muss, es kann. Werde erklären, erstellen unter
- eine neue Datei, die neu gemischten Worte zu speichern
Nummer 3 erklärt: datei.txt enthält folgende
this
is
a
test
Es wäre zu jedem möglichen Ergebnis mischen müssen. So
this is a test
this a is test
this test is a
this test a is
Und so weiter und so fort. Es gibt 16 mögliche Ergebnisse, also werde ich meine Frage damit nicht überschwemmen.
Ich verwende den folgenden Code in Python 2,7
file = raw_input('Enter File Name: ')
with open(file, 'r+') as f:
array = list(f)
print array
Der Ausgang dieses ist, die (mit Ausnahme der '\ n') vollständig in Ordnung ist:
['this\n', 'is\n', 'a\n', 'test']
Jetzt, Immer wenn ich shuffle() verwende, verwende ich diesen Code
from random import shuffle
file = raw_input('Enter File Name: ')
with open(file, 'r+') as f:
array = list(f)
new = shuffle(array)
print new
Der Ausgang ist dies:
None
Ich weiß, um zu schreiben, muss ich w + verwenden und tun f.write (neu) dann f.close(), es löscht mein file.txt und speichert es leer
Wie kann ich das tun?
Gäbe es nicht 4 sein! = 24 Möglichkeiten statt 16? In jedem Fall - kennst du "itertools"? –
Oh ja. Du hast recht, ich habe 4 * 4 statt der Fakultät gemacht. Jedenfalls bin ich nicht. Ich werde es mir ansehen! – notissac