Θέλω να ζητήσω από έναν χρήστη να δημιουργήσει έναν αριθμό τυχαίων αριθμών και να τους αποθηκεύσει σε ένα αρχείο. Μας έδωσε αυτό το μέρος. Το μέρος που πρέπει να κάνουμε εμείς είναι να ανοίξουμε αυτό το αρχείο, να μετατρέψουμε τους αριθμούς σε λίστα και στη συνέχεια να βρούμε τη μέση τιμή, την τυπική απόκλιση κ.λπ. χωρίς να χρησιμοποιήσουμε τα εύκολα ενσωματωμένα εργαλεία της Python.
Δοκίμασα να χρησιμοποιήσω το open
αλλά μου δίνει άκυρη σύνταξη (το όνομα του αρχείου που επέλεξα ήταν "numbers" και αποθηκεύτηκε στο "Τα έγγραφά μου"
αυτόματα, οπότε δοκίμασα open(numbers, 'r')
και open(C:\\name\MyDocuments\numbers, 'r')
και κανένα από τα δύο δεν λειτούργησε).
f = open("file.txt")
lines = f.readlines()
Κοιτάξτε εδώ. Η readlines()
επιστρέφει μια λίστα που περιέχει μια γραμμή ανά στοιχείο. Σημειώστε ότι αυτές οι γραμμές περιέχουν το \n
(χαρακτήρας νέας γραμμής) στο τέλος της γραμμής. Μπορείτε να αφαιρέσετε αυτό το χαρακτήρα νέας γραμμής χρησιμοποιώντας τη μέθοδο strip()
. Δηλαδή, καλέστε τη μέθοδο lines[index].strip()
για να λάβετε τη συμβολοσειρά χωρίς τον χαρακτήρα νέας γραμμής.
Όπως σημείωσε ο joaquin, μην ξεχάσετε να f.close()
το αρχείο.
Η μετατροπή των strint σε ακέραιους αριθμούς είναι εύκολη: int("12")
.
Πρέπει να περάσετε ένα αλφαριθμητικό ονόματος αρχείου στο open
. Υπάρχει μια επιπλέον επιπλοκή όταν η συμβολοσειρά έχει μέσα το \
, επειδή αυτό είναι ένας ειδικός χαρακτήρας διαφυγής συμβολοσειρών για την Python. Μπορείτε να το διορθώσετε αυτό διπλασιάζοντας το καθένα ως \\
ή βάζοντας ένα r
μπροστά από τη συμβολοσειρά ως εξής: r'C:\\name\MyDocuments\numbers'
.
Επεξεργασία: Οι επεξεργασίες στην ερώτηση την καθιστούν εντελώς διαφορετική από την αρχική, και δεδομένου ότι καμία από αυτές δεν προέρχεται από τον αρχικό αποστολέα, δεν είμαι σίγουρος ότι δικαιολογούνται. Ωστόσο, επισημαίνει ένα προφανές πράγμα που μπορεί να έχει παραβλεφθεί, και αυτό'είναι πώς να προσθέσετε το "Τα έγγραφά μου" σε ένα όνομα αρχείου.
Σε μια αγγλική έκδοση των Windows XP, το My Documents
είναι στην πραγματικότητα C:\Documents and Settings\name\My Documents
. Αυτό σημαίνει ότι η κλήση open
θα πρέπει να μοιάζει με:
open(r"C:\Documents and Settings\name\My Documents\numbers", 'r')
Υποθέτω ότι χρησιμοποιείτε XP επειδή το ονομάζετε My Documents
- αυτό άλλαξε στα Vista και τα Windows 7. Δεν ξέρω αν υπάρχει εύκολος τρόπος να το αναζητήσετε αυτό αυτόματα στην Python.