Прочетете редове, започващи с цифри

Как мога да чета само редове във файл, които започват с числа в python, т.е

Hello World <--ignore
Lovely day
blah43 
blah
1234 <--read
blah12 <--ignore
blah 
3124 <--read
Not matter how many words there are <--ignore
blah 
0832 8423984 234892304 8239048324 8023948<--read
blah132 <--ignore

person Jalcock501    schedule 17.12.2014    source източник


Отговори (2)


можете да използвате функцията isdigit():

for line in open('f.txt','r'):
   if line[0].isdigit():
       print line
person kasravnd    schedule 17.12.2014
comment
Обърнете внимание, че isdigit() има това, което може да е изненадваща дефиниция на цифра, която може или не може да е валидна за разглеждания случай на употреба. Той включва всички числа, които бихте очаквали, но също и някои уникод символи, които може да не използвате. - person Gareth Latty; 17.12.2014
comment
isdigit се използва за проверка дали даден низ започва с число? - person Hacketo; 17.12.2014
comment
@Hacketo Когато се прилага към първия знак, както тук, да. - person Gareth Latty; 17.12.2014
comment
@Hacketo isdigit() Връща true, ако всички символи в низа са цифри и има поне един знак, false в противен случай - person kasravnd; 17.12.2014

person    schedule
comment
Редактирайте, за да използвате оператора with за отваряне на файла, както е най-добрата практика. - person Gareth Latty; 17.12.2014
comment
@Lattyware благодаря много - person vks; 17.12.2014