Как читать и писать целые числа из текстового файла? [Дубликат]

Просто добавьте еще один вариант - если вы любите / терпите кофе-скрипт, вы можете использовать кофе-ответ, чтобы написать свой JSX, в этом случае, если / else-заявления можно использовать, поскольку они являются выражениями в сценарии кофе, а не в операторах:

render: ->
  <div className="container">
    {
      if something
        <h2>Coffeescript is magic!</h2>
      else
        <h2>Coffeescript sucks!</h2>
    }
  </div>  
2
задан Cole 16 January 2019 в 06:02
поделиться

3 ответа

Метод readlines () читает до EOF с использованием readline () и возвращает список, содержащий строки.

Откройте файл sample.txt с помощью блокнота o из командной строки: type sample.txt

0
ответ дан Carlos Dagorret 16 January 2019 в 06:02
поделиться

\n, который вы видите на консоли, - это просто repr стандартное Python представление строки. Если вы хотите записать строки данных в файл и напечатать файл построчно, вы можете сделать это (все, что я делал, это перебирал ваш список и печатал его по одной строке за раз вместо печати массива):

with open('C:/Python35/sample.txt', 'w') as f:
    data = [70, 60, 55, 75, 95, 90, 80, 80, 85, 100]
    for i in data:
        f.write('%d \n' %i)

with open('C:/Python35/sample.txt', 'r', encoding='utf-8') as g:
    data=g.readlines()

for line in data:
    print(line)
0
ответ дан dtanabe 16 January 2019 в 06:02
поделиться

Возможно, ваш файл sample.txt отформатирован примерно так:

70
60
55
75
95
90
80
80
85
100

В этом файле нет ничего, что помнит, что введенное вами значение является целым числом, и поскольку это текстовый документ (.txt ) он также не будет кодировать числа как таковые. Что касается \n, то каждое число находится на отдельной строке, означая, что должен быть какой-то символ, обозначающий символ новой строки, следовательно, символ \n символа новой строки.

Если вы посмотрите на эту строку в вашем коде:

f.write('%d \n' %i)

, вы явно пишете \n после каждого числа. Если вы хотите прочитать числа из текстового файла и сделать их целыми числами, вы должны явно преобразовать строковое значение в его целочисленное представление. Вы можете переписать эту логику в:

>>> with open("sample.txt", "r", encoding="utf-8") as g:
...     data = list(map(int, g.readlines()))
... 
>>> data
[70, 60, 55, 75, 95, 90, 80, 80, 85, 100]

, где он отобразит тип int на каждое значение списка, возвращаемого g.readlines(), а затем снова преобразует объект map в list , И, если вам интересно, int игнорирует пробелы (пробелы и новые строки), как у вас в каждой строке.

>>> int("70 \n")
70
>>> type(int("60 \n"))
<class 'int'>
0
ответ дан Cole 16 January 2019 в 06:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: