Chcem vyzvať používateľa, aby vygeneroval určitý počet náhodných čísel a uložil ich do súboru. Túto časť nám dal. Časť, ktorú musíme urobiť, je otvoriť tento súbor, previesť čísla na zoznam, potom zistiť priemer, štandardnú odchýlku atď. bez použitia jednoduchých vstavaných nástrojov Pythonu.
Skúsil som použiť open
, ale dáva mi to neplatnú syntax (názov súboru, ktorý som zvolil, bol "numbers" a automaticky sa uložil do "My Documents"
, takže som skúsil open(numbers, 'r')
a open(C:\name\MyDocuments\numbers, 'r')
a ani jedno nefungovalo).
f = open("file.txt")
lines = f.readlines()
Pozrite sa na tu. readlines()
vráti zoznam obsahujúci jeden riadok na prvok. Všimnite si, že tieto riadky obsahujú \n
(znak nového riadku) na konci riadku. Tento znak nového riadku môžete odstrániť pomocou metódy strip()
. T. j. zavolajte lines[index].strip()
, aby ste získali reťazec bez znaku nového riadku.
Ako poznamenal joaquin, nezabudnite súbor f.close()
.
Prevod strintu na celé číslo je jednoduchý: int("12")
.
Do príkazu open
je potrebné zadať reťazec s názvom súboru. Ak je v reťazci \
, nastáva ďalšia komplikácia, pretože pre Python je to špeciálny znak escape reťazca. Môžete to vyriešiť zdvojením každého z nich ako \\
alebo vložením znaku r
pred reťazec nasledovne: r'C:\name\MyDocuments\numbers'
.
Úprava: Úpravy otázky ju úplne odlišujú od pôvodnej, a keďže žiadna z nich nebola od pôvodného zadávateľa, nie som si istý, či sú opodstatnené. Poukazuje však na jednu zrejmú vec, ktorá mohla byť prehliadnutá, a to'ako pridať "Moje dokumenty" k názvu súboru.
V anglickej verzii Windows XP je Moje dokumenty
v skutočnosti C:\Documents and Settings\name\My Documents
. To znamená, že volanie otvoriť
by malo vyzerať takto:
open(r"C:\Documents and Settings\name\My Documents\numbers", 'r')
Predpokladám, že používate systém XP, pretože ho voláte Moje dokumenty
- vo Viste a Windows 7 sa to zmenilo. Neviem, či existuje jednoduchý spôsob, ako to v Pythone automaticky vyhľadať.