2014-09-21 4 views
-3

Предположим, что я хочу, чтобы прочитать файл в этом формате:Чтение специальных символов из файла в Python

2 

300 234 2 3 

23444 

Если я использую readline() он перебирает всю линию. Я хочу, чтобы он читал только цифры больше ничего. Как мне это сделать?

+1

Я не думаю, что это возможно. Вам нужно будет использовать регулярное выражение. –

+1

Прочитайте их как? Должна ли каждая строка быть единственным целым числом? Несколько целых чисел? Всегда целые числа? Всегда одно пространство? Является ли 'readline' единственным, что вы пробовали? – jonrsharpe

ответ

-1

Используйте readline(), чтобы получить всю строку в виде строки, затем разделите строку с помощью функции split(), которая вернет список строк (в вашем случае, числа) в строке.

Пример:

line = yourFile.readline() 
numList = line.split() 

Теперь numList содержит номера, которые были на этой линии.

Источник: https://docs.python.org/2/library/stdtypes.html#str.split

0

Вы можете использовать re модуль.

import re 

numbers = re.findall('[0-9]+', readline()) 

Он вернет все номера в виде списка.

Смежные вопросы