2016-04-11 14 views
2

Oyun sunucusunda oyuncuların sayısını alan bir web sayfası oluşturma aracı yapıyorum. Bunu yapmanın en etkili yöntem, bir txt dosyasına HTML kaynağını yazmayı İstekler'i ve BS4 kullanmaktır anda Bilinmeyen değeri olan tam sayı için yer tutucu

ardından

"/" 
Maalesef

benim HTML iki ileri indirim içeren söz konusu dosyayı aramak boşluk iki tarafında ile, bu yüzden

"% d /% d"

Yani sadece, ne yazık ki değerlerini iki tarafında tamsayı ile bir bilemiyorum alır gibi bir şey yapmak gerekiyor, Sadece bir tam sayı almak için ihtiyacım var içinde.

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    if "/" in line: 

     print (line) 
searchfile.close() 

Şimdiden teşekkürler!

cevap

1

İstediğinizi belgenizde belirli bir deseni aramak için using regex olduğunu.

re.search(r'(\d)/(\d)', your_text)X ve Y 1 basamaklı sayılardır X/Y tüm oluşumları dönecektir. Birden fazla rakam istiyorsanız, take a look at the regex syntax yazıp r'(\d+)/(\d+)' gibi bir şeyler yazabilirsiniz. sizin örnek ile

, sen sahip olmalıdır:

prange = list(range(0, 65)) 
searchfile = open("data.txt", "r") 
for line in searchfile: 
    m = re.search(r'(\d+/\d+)', line) 
    if m: 
     print (line) 
searchfile.close() 
+0

Evet sayılar, çift haneli olan yardımın için teşekkür ederim. Maalesef Python'da bir acemiyim ve yönteminizi nasıl uygulayacağınıza bakmaya devam edeceğim – Will

1

Gerekli desen bulmak için re kullanmayı deneyebilirsiniz:

>>> import re 
>>> re.search('(\d+)\s+/\s+(\d+)', 'dsdsd 111/222 dsdsds').groups() 
('111', '222') 
İlgili konular